With that annoyance in mind, I've been toying with ways to allow spellcasters to continue casting spells after they've run out of spell slots. The idea I finally came up with is a pretty simple one: magical exhaustion.
Spell slots within the rules represent the character's spellcasting limits, how far they can safely push themselves without tiring themselves out. Why not take that idea a little further? What if characters could continue casting spells after they've run out of slots, but at the cost of hurting themselves? How would that work mechanically? Well, I have two different possibilities.
The first is a little more complicated. Once a spellcaster runs out of spell slots, they can attempt to cast additional spells at the cost of possibly exhausting themselves further. After casting each additional spell, the character must make a Fortitude save with a DC equal to 10 + the spell's level. If they succeed this save, nothing happens. However, if they fail, the spellcaster becomes fatigued. If they fail again, they become exhausted. If they fail a third time, they drop unconscious.
The second method is much easier and is inspired by the kineticist's burn mechanic. Once a spellcaster runs out of spell slots, they can continue casting spells by taking nonlethal damage. The amount of nonlethal damage the character takes is equal to the spell's level. That's it.
I personally like the simplicity of the second method, but like the limitations placed on the number of times you can cast said spells created by the first method. However, these are simply ideas and I don't know how they'll actually work at the table. Feel free to use them in your games if you want.
Which method do you prefer?