Based on what I understood from the question, you can do the below:

Create `DCPs` for common components (like Header, Footer etc.) which are present on all pages or most of the pages and include them directly in your `page templates` with RenderDynamicComponent presentation method from DD4T. This will ensure that the pages do not need republish when you changes any of the DCPs and they are still present on the page. We use this approach for Header and Footers components and we use DD4T as well. This works absolutely fine.