В вашей папке плагинов Smarty есть фильтр, который можно легко адаптировать к задаче: это outputfilter.trimwhitespace.php
.
Просто добавьте строку
$source = preg_replace("`\s+`ms", " ", $source);
(из сообщения на форуме, связанного Мартином) в строке 51, а затем вызовите фильтр вывода.
Преимущество состоит в том, что указанный фильтр хорошо сохраняет и затем восстанавливает блоки кода, в которых вы можете оставить только один пробел - внутри script , pre и элементы textarea (я бы тоже добавил в список элемент code ).