An alternative that I've been thinking about is to give your villain a number of 'Batman Points' (or whatever else you want to call them.) Basically, by spending a Batman Point, you can retroactively state that the villain has predicted the PCs' plans and engaged some sort of countermeasure. Whatever they've come up with, he's already come up with an answer to it; he's just that good.
There are a few limitations on this ability:
- The villain can't acquire new abilities, items or resources out of nowhere; all he can do is guess what his enemies are trying to do. So if the PCs are scrying him to learn his evil plans, then you can spend a Batman Point to say "Well too bad, he writes his diary in a code that only he can read." But you can't say "Well too bad, he has an Amulet of Anti-Scrying." (Unless, of course, he is super rich and there's a shop in his city that sells Amulets of Anti-Scrying.)
- The villain doesn't gain any knowledge beyond what he already had; he just has a hunch. So in the previous example, he wouldn't suddenly be aware that the PCs are trying to scry him - he just has a vague idea that his enemies might try to scry him, so he's taking precautions against it.
- The villain's counter can't be overly specific or unbelievable. If the PCs are hiding in a bush beside the road to ambush him, you can say "He orders his guards to investigate each bush in advance" but you can't say "He orders his guards to go straight to the bush you're hiding in and stick their spears into it."
- The DM has a limited amount of time (let's say one minute) to think of a counter; if you can't, then the Batman Point can't be spent.
The disadvantage of this rule would be that it might just make the players feel like you've given yourself a license to screw them over, or that their first few gambits don't really matter because they're just used to burn through the Batman Points. (But if their gambits are too lazy, then of course you can choose not to spend a Batman Point and just counter them normally.) I'm not sure how you would communicate this mechanic to the players. You would probably need to explain it before the villain appears, or it would feel unfair. But it's a pretty obscure subsystem that will probably only crop up once or twice in a campaign, so will anyone even remember the rule by the time you get around to using it?
To be clear, I've never actually tested this rule, so I'm not recommending it so much as just putting it out there as a possibility.