I think that you're talking about WordPress, right? So it's tuff situation and i'm in same. So i will explain what i'm doing now, but note that this is because i'm dev and i have experience with WP like 10+ years.
So i have site (link in profile) that it's built using one purchased WP theme and works good. Built in 2012 because previous version was on .html files so maintaining become too time consuming. So i get theme and built site. Still works, but i was seeing in process of building site that something isn't right.
First - theme didn't seeing all items correctly as in demo due some issue with pages and posts. Second we're using "tab" interface with all pros and cons. Thirds - theme uses too much CSS/JS code. After month we was found how to make content for all sections. After another month one of plugins broke all site due JS malfunction code and tab interface didn't works at all for month or two. So site went in optimization process and now works much faster than before in 2014.
But it's 2018 and this isn't enough. That's why i start making brand new theme for that site with few goals:
- CSS code less than 30k. I found that on site i was use between 5% or 10% of all CSS code. So mine next goal is less than 30k.
- Optimization with CSS delivery. ATF CSS code will be inlined into , rest of code will be put in bottom of HTML. Just to not count as "render blocker".
- Minimal JS. I have custom JS code for menu (1k) and will use gallery code as Photoswipe. And CSS slider, yes i'm not kidding. But that's not all - using custom PHP code that extra codes will be included just on pages where they're needed. I.e. there will be not gallery on homepage or 'contact us' so that code will be not included into that pages.
- Remove most of plugins. Most of them make situation from bad to worse. I wish to live with no more than 5 plugins from reputable authors.
- Fixing WP to generate small and clean code where is possible. Have you seen your head section? That's what i'm talking about - "Less is more!"
- Testing "statification" of site. I'm not posting each week, there are no valuable comments. Honestly for 6 years i didn't have not received even single comment in posts that isn't spam. If i can turn page into static one then i can solve hosting issues (i don't have it!) by using one of those serverless hostings.
So as you can see this will solve all mine issues for next 5 years.
For you it will be good if you can start make changes with child themes, but in long term probably custom one will be suitable. I found that many themes comes with 999 features but in real life situation people used just few of them.
I hope that this give you rough idea of situation.