I'm late to this conversation, but I strongly prefer solving this by narrowing the
day-to-day versatility of casters (as well as letting mundanes have nice things by drop-kicking the "guy at the gym" mentality out the proverbial window). I don't mind that there's versatility, but you should have to build for that, and a blaster caster should have to make trade-offs with other spells. Not "oh, I'm not quite as good at them" or ("oh, give me a day, I'll prepare something else") but "I don't know that type of spell."
I made an attempt along the lines of narrowing the versatility for 5e D&D. IMO, 5e is close enough to balance that my primary concern wasn't
balance per se--it was thematicity. Basically, I wanted to drastically increase the number of spell lists and reduce the number of spells on each list. In part, I wanted a resource for NPC spell lists, but also as a thought experiment for PCs.
Here's the google doc I created with the changes. I must stress that it's a WIP, proof of concept, least-change (so not rewriting anything I didn't have to) and not anywhere near finished or balanced. But I think the idea's sound, especially for NPCs. (Feedback would be welcome!)
The essence was that I took all ~400 spells I had (PHB + the free sources) and redistributed them between 30 or so "themes". Classes determine which themes a character has access to (including some that can go "off list"). Each character has a primary theme where they pick most of their spells from. They may have one or more secondary theme (where they occasionally pick spells from) or may have another way of accessing other spells. For example, sorcerers don't get a secondary theme, but can cast one spell (of the appropriate level) from almost any list each day--each day it can be something different. Bard have a narrow primary theme selection, but get to poach spells from any other list periodically. Clerics get different secondary lists by domain, but have a relatively small choice of primary lists.
This helps clerics (for example) feel unified but also differentiated. It's not just 2 spells of each level that are set by the domain--it's about half their list that'll be different between different domains.
A particular attempt was made to spread the spells out--there are no spells unique to a single list. Yes, even iconic spells.
In essence, I made each caster a limited-list caster (like a fixed list, but you might have a choice at character-creation/level-up to choose between two narrow lists). You could go even further and kill off/make up a lot of spells, but this serves my purpose.