ksa, а почему не указать регулярку прямо в split ?
var val = `[]Заголовок
Некий текст описывающий товар.
Продолжение описания на другой строке.
[t]Название; Значение
Жиры; 10
Белки;20
[]Другой заголовок
Простой текст для рассказа о товаре
`
const re = /(\n\s*\n)+/g
console.log(JSON.stringify(val))
const str = val.replace(re, '*')
console.log(JSON.stringify(str))
console.log('Есть лишние элементы', val.split(re))
console.log('Так как нужно', str.split('*'))
console.log('в один присест:', val.split(/\n\s*\n/))
ADD: а, вижу что пытался, но как-то странно...