My fix was to gut the first three levels of the class, and rebuild it from the ground up.
Lvl 1, You choose a sorcerous origin. That choice determines your spells known at lvl 1, and every level thereafter, unless you multiclass out. It also grants you additional features at certain levels as normal.
You also get 5+Con mod+(2 per caster level) Sorcery Points and two more at level 20. You can use those points to do metamagic. All of it, no restrictions. Choose what you like and spend points accordingly.
You do not get flexible casting. Not at level one, not ever.
And then, you just build a thematic subclass by working through each level and selecting the appropriate spells and choosing appropriate features. I started with what I called the Force of Nature origin, divided into Storm, Blaze, Frost, Earth, and Wild (plants, not wild magic). It's fairly obvious what they do. Next I made a Radiant origin. If it's a spell that manipulates light, they learn it, and they also get a few cool light-based tricks along the way. After that, Shadow. Not a direct counterpart to the Radiant, literally drawing on the power of the Shadowfell. It has acid, psychic, and necrotic damage as its forte, and it ends up being able to do shadow crossings fairly regularly at higher levels. Next, Paragon. Something completely different, similar in concept to a Champion Fighter that slowly gains Bard-like abilities. After that, one I called Link, because I had to call it something. This one tells the story of a support character who gradually becomes a deadly psionic attacker as more facets of its sorcerous origin unfold. After that, I added the Magical Prodigy, which is a sorcerer who went to Wizard school. They have a spell book, they can choose their own spells and learn more like a Wizard, but they also have metamagic and scoff at the normal rules they were taught were absolute. I figured that was enough, but the whole point is that every subclass plays completely differently, and works with a different theme. You could make any subclass you wanted, by design.
And that's it. The only other change I made to the base class was one additional 6th level spell known for each subclass, learned at lvl 12. No extra spell slots, I just found that each of my subclasses had two equally good possibilities for 6th level and I didn't see why I should have to choose, so I just added the ability to choose both.