Как оптимизировать загрузку js для многостраничных сайтов?
минифицировать все и отдавать с gzip с правильными настройками HTTP кэша. Один раз загрузили и больше не дергаем на все страницы.
Если вас так беспокоит вопрос, что скрипты все время дергаются с сервера, то положите их в клиентское хранилище, воспользовавшись например таким инструментом.
Но в целом это лишнее при ваших объемах. Нет ничего страшного в том, что какие-то части скриптов не выполняются в данный момент и юзер до них может и не дойдет никогда. Они ведь не загружают процессор, не вызывают тормозню. Какая вам разница, добрался ли юзер до вашего дейтпикера? В чем будет разница для юзер експириенс, получил ли юзер код для использования дейтпикера сразу или только когда открыл страницу, где он есть?
Есть еще и другое мнение, рассматривать сайт как приложение (ну вот например как на смартфонах). В чем прелесть такого подхода? А в том что при запуске приложения, вся оболочка этого приложения загружается разом. А потом, загружаются только голые данные, что дает небывалую скорость отклика и отзывчивость. На обычных сайтах такого не встретишь. В такой ситуации вам не только скрипты и стили, но еще и всю графику сайта придется как то предзагрузить и хранить на клиенте.