статику вообще лучше вначале сжать и выдавать уже сжатую, пусть ее клиент распаковывает, а если не умеет (но таких уже практически нет), качает полную, чем жать динамически ))) причем это касается и js с css, другое дело, если на сайте происходят постоянно изменения, то надо и заголовки как следует настроить на нужные ресурсы и не забыть про редкоизменяемые.
да много всего можно сделать: от настройки сервера, до сборки скриптов в один или несколько компакт, убрать повторы, ввести селекторы, частично логику грузить после стилей и тд, критические вещи сделать inline, распределить ответы сервера по ресурсам статическим ( привет cdn ) и тд и тп, а еще поле не паханное в sql запросах...
оптимизация оч интересная тема, тут я с вами полностью согласен, но она за пару тыков не делается, как многие хотят -)
есть общий принцип, но вот инструменты и реализация общей не бывают, нужен адаптив под каждый проект.