Советую сразу грузить всю рабочую оболочку
SPA приложения для всех страниц, а то, что нужно будет по мере запросов страниц с отдельным функционалом - грузить вместе с такими модулями (разметка HTML+JS/CSS+данные JSON).
Это делается через организацию древовидного URI-роутера с зависимостями на клиентской стороне.
В итоге - как раз и получите разделение так, как Вам необходимо: общий (основной для всех) и дополнительные данные (по мере необходимости).
Я написал
includeHTML и теперь постепенно развиваю для себя, чтобы было проще управлять модульностью и загрузкой нужных данных без перезагрузки всей страницы целиком.