The reason wizards don't get all their spells back after short rests is game balance. Without it, there's no reason to bring fighters, rangers, rogues, warlocks, or even clerics or paladins. If wizards can nuke monsters in every encounter, you could just bring four of them and call it a day. Fighters and warlocks renew their abilities every short rest which allows them to compete with spellcasters.
(though I don't think wizards are overpowered even with every their spell ready) OK, let's invent a reason to bring other classes in.
* Make a quick-menu option to change a character. Your mage is out of spells? Change him to ranger. A locked door ahead? It's time for your thief. A boss? Check his stats with a character with lore, bring a suitable characters to fight him. * Make a reason to switch to other characters for non-casters. It can be fatigue, it can be encounters sequence where some characters will be more effective than other. * When all characters is tired / without spells it's time to do a long rest. There can be something to prevent long rests when there are unused characters from last day.