Если ваш JavaScript не очень динамичный по своей природе, вы можете дать Closure Compiler шанс.
Соберите все ваш JavaScript в одном месте (включая jQuery, плагины, другие библиотеки, все) и отправьте его в gcc, используя расширенную опцию компиляции.
Это удалит все неиспользуемые функции, которые могут потенциально сломать ваш код . Я бы порекомендовал это, только если у вас есть тестовые случаи, или ваш JS достаточно мал, чтобы полностью тестировать вручную.
Простой пример того типа оптимизации, который выполняет компилятор:
function hello(name) {
alert('Hello, ' + name);
}
hello();
будет уменьшено до:
alert("Hello, undefined");
, поскольку это все, что в основном происходит.