1. Сетка (+подключение необходимых js/css) с расположением динамически подгружаемых блоков. Используем
https://github.com/xmoonlight/includeHTML
2. Общий CSS
3. Отдельные блоки (меню, header, footer и т.д.)
4. Добавление стилей для блоков в общий CSS по мере необходимости.
В итоге - имеем несколько html-файлов с разными частями кода для каждого из блоков, которые будут грузиться согласно сетке расположения в единую HTML-страницу.