On the back burner of my mind, I've been slowly developing a similar idea for some time now. Although my approach is different from yours, I think my solution for casting may address one of your concerns.

Like you, I use three basic starting points, Fighter, Caster, and Other Guy (I need a better name for that) that I call classes. Features that can be taken as one advances have prerequisites, and class level is often among them.

Casters get spells of advancing spell level automatically as they advance in character level. But for Fighters and Other Guys spell levels can be taken as features. Level one spells is a feature requiring, let's say, 3th level in the non-caster classes. Level two spells would require both level one spells and character level, let's say, 6. And so on. Spell levels up to four or five (I haven't decided) are available this way, and no farther.

I'm on the fence about making Casters choose a path: arcane or divine (and maybe nature). If I go that route, then spell levels in the other path(s) would be available as features to them as well.