Как определяете какую часть верстки выносить в header.php если много мелких различий в шапке?
Если делать условия по урлу то будет не просто большая портянка, а еще в аду тебя будут варить в самом горячем котле.

Пока я пришел к такому варианту, что буду использовать отложенные функции
Все правильтно сделал - пусть страница сама управляет шаблоном над собой, если нельзя избежать такой верстки как ты описываешь.

Причем на некоторых один вариант, на других второй, ещё на нескольких третий, а на главной четвертый. И таких мелочей где меняется один класс в шапке много, иногда добавляется новые теги(дивы), но это уже редко.
В целом таких ситуацию лучше избегать, а при необходимости внесение различий в вид, управлять ими через css +  классы на body типа .page-main, .page-inner, .page-blog (тире и подчеркивания можно расставить в зависимости от типа расстройства у верстальщика) и так далее, а вот эти классы вешать через  отложенные функциию.
переделайте проект интерфейса.
Ваше тз говорит о  непродуманном интерфейсе и дело ту тне в сборке.
В юзабилити есть понятие "ожидаемость интерфейса"
В вашем случае им не пахнет
Следовательно юзабилити такого тварения будет аховым.