In my (admittedly not huge) playing experience, the quickest solution seems to be to blitz them. If you don't let them build up a mana stockpile, they can't keep throwing the more powerful spells at you (they'll still throw weaker ones whenever they can.) Even aside from the spell casting, I found I had my best success when I beat down the main enemies as quickly as possible, hitting the standing mobs only as much as was needed to power up my parties, and then spending a more leisurely time treasure hunting once the prime enemies were subdued (although it could be a bit annoying if I found something that would've been useful past the time it was needed.)
Late edit, after more play experience: While the spells to restore fog of war do turn out to be one of the best solutions, here are a couple other options you can consider:
Ward spells grant immunity to overland spells of that type, e.g. Fire Ward will make a party immune to Sinestra Ignis etc. for one turn. Undead Hordes' Templar branch can be a good one to use against a spell-happy opponent, for this reason. I believe tomes will also work in the same way wards do, but I haven't experimented with them much. Unlike in combat, wards don't wear off after taking a hit from an overland spell.
Also, the AI does like to target thieves, so in some cases you can use them as a cheap decoy, especially if you can leave them outside while the party you want to protect shelters in a town. Depending on the difficulty settings and resources claimed, you can try to drain the enemy's mana reserves this way, but it's not the ideal solution.
Post edited December 04, 2013 by WarlockLord