Use a magnet board for initiative. Put the spells on the board as their own magnets if there are events that trigger off of an initiative order event.I do this for on round duration spells, etc....
I just give each NPC spellcaster a number of spells equal to their Spellcasting ability modifier + their Proficiency Bonus, and allow them to cast each spell once per day.
I also try to limit the number of hostile spellcasters to one for each encounter.