Вы можете добавить разрывы строк.
motivation = motivation
.replace('death','life')
.replace('sad','happy')
.replace(/fu+ck/gi,'yay!')
.replace('darkness','light');
Кроме этого - если вы не измените весь подход - нет, я не вижу, как его улучшить.
Изменение подхода может означать что-то вроде этого:
function replaceMany(s /*, [search, replace], ... */) {
for (var i=1, l=arguments.length; i<l; i++) {
s = s.replace(arguments[i][0], arguments[i][1]);
}
return s;
}
Тогда вы могли бы назвать это как:
var motivation = replaceMany(
motivation,
['death','life'], ['sad','happy'], [/fu+ck/gi,'yay!'], ['darkness','light']
);
Преимущество оборачивания этой функции в функцию заключается в том, что вы можете изменить заменяемое без изменения исходного кода. Поэтому, если у вас нет фиксированного, ограниченного набора замен, который никогда не изменится, последний подход является лучшим.