Как лучше разделять приложения по файлам?
2 вариант, как по мне, лучше.
Я первый вариант юзаю. Я на ruby on rails делаю, там это реализовано "в коробке"
У меня получается есть application.js - тут пишу скрипты необходимые для всех страниц. Дальше подключается нужный page.js, в нем я подключаю необходимые для этой страницы модули и пишу код, используемый именно на это странице. 
Для css так же. 
При деплое рельсы автоматом собирают на каждую страницу свои минимимизированные файлы и получается, что в production для каждой страницы есть один маленький файл, в котором только нужный код для это страницы.  
Как-то так.