ЭтоОченьДлинныйТекстВообщеБезПробелов ИТутБылПробел
Это Очень Длинный Текст Вообще Без Пробелов И Тут Был Пробел
str.split(/(?<=\S)\s*(?=[А-ЯЁ])/).join(' ')
// или
str.replace(/(?<=\S)(?=[А-ЯЁ])/g, ' ')
// или
str.replace(/(\S)(?=[А-ЯЁ])/g, '$1 ')
// или
str.replace(/[А-ЯЁ]/g, (m, i) => i && str[~-i] !== ' ' ? ' ' + m : m)