I don't think that the problem with wizards are cantrips, rituals, or neo-vancian casting. I think the problem is that full-casters were given these things but lost little to nothing in return for what they gained with cantrips, rituals, neo-vancian casting, and even ways to replenish their spell-slots.
Some possible solutions with the above in mind. I think that there needs to a clear vision and demarcation between the role of cantrips, spells, and rituals.
Rituals: A lot of utility spells should just become entirely rituals. These rituals could not be cast as spells. These rituals should have costs, including successful skill checks (e.g., Arcana/Nature/Religion), material components, assistance from others, or even the caster spending Hit Die.
I am hesitant to say that rituals can only be cast outside of combat because there is the trope of PCs stopping the NPC wizard's evil ritual; however, combat is very quick in D&D 5e anyway. So if a ritual is 10-30 minutes long, combat is likely long over by that point. So it is effectively out-of-combat as far as PCs are likely concerned, though it could certainly be interesting to have NPCs attempt to disrupt the ritual towards the middle or end.
Finally, I would also consider whether spells level 6 through 9 (or 10) should be rituals. This is to say that once you reach magic that is in the level 6+ range, you are dealing with potent magic that
requires ritual magic unless you are a powerful entity (e.g., archfiends, gods, etc.). I probably would not explore this option until after testing the other changes.
Cantrips: Cantrips are mostly fine. The more powerful and/or weak ones are known and have been discussed. I don't think that having cantrips are a fundamental problem. Cantrips should not be as effective in damage as martials, but they should remove the need for the crossbow wizard.
Spells: Moving a lot of utility from spells to rituals would already, IMHO, alleviate some of the issue with spells. That said, I think that one of two things should be considered here. Maybe there should be less spell slots for fullcasters BUT each spell cast is potent. Or should spells be more frequent but less powerful in these areas? In which case, as some have suggested, nerfing spells themselves would work.
I would also rebalance spells across 10 levels of spells. Not 9 levels, but 10 levels. Also, let's call them "tiers" or "spheres" or anything else but not "spell levels," because that confuses things. A tier 10 spell would likely be a capstone ability for a level 20 fullcaster. You don't get Wish when you hit level 17. You would get it when you reach level 20, but you only get your choice of one tier 10 spell as your breakthrough spell.
Edit: I also agree with
@Voadam that wizards and such should also get access to some healing spells. I don't think that this makes wizards more powerful. If anything it puts more pressure on them to potentially use their spells to heal. It also opens the door for "white necromancers" who also have healing spells.
Classes: One more thing that is also worth exploring is that maybe magical classes would not get cantrips, spells, and rituals but maybe a mix of these things. So maybe a warlock or hypothetical gish class, for example, would get cantrips and rituals but not spells. A wizard would get all of these things, but they are barred from certain schools of magic depending on their magical tradition. Maybe a sorcerer gets cantrips and spells but not rituals.