Как определять баланс между модулями и заголовками?
Определять по потребностям бизнеса/овнеров и по ситуации. Иногда медленная компиляция ни на что не влияет, и если при этом модули дадут выигрыш в другом месте - то их и надо использовать.
Плюс все это может по разному быть в разных ветках/окружениях