The solution you're using is optimal, I did lots of research before for SS 6.3 scripts and even yesterday for some other project on this matter and:
-if you check log file you'll see that checking 250 instances of "if" takes only a split second, plus it's fired only once per turn,
- 250 monitors would equal up to few seconds lag (depends on construction... I'll do some tests on cs with 1k character\turn monitors only and see).
My yesterday's testing brought interesting results as to actual worth of our lag reducing efforts. The conclusion is that CAI has the greatest influence over turn time and our attempts aren't as relevant to overall processing time as they are thought to be (which doesn't mean we shouldn't adhere to most optimal scripting practises).
Breakdown of testing (32 factions, SS 6.5 beta):
1. EDA, EDCT, guilds, CS, faction standing and CAI off - 2.27 sec avg turn time
2. CAI + faction standing only (faction standings proved irrelevant to turn time in other tests, turn time increases with every turn) - 58,3 sec turn time:
3.Everything apart from AI on (2k+ triggers in EDA and EDCT alone, CAI and faction standings off) -5,67 sec turn time:
4. [Edit: added data] CS only results (898 event monitors, 143 battle-related conditions monitors), I tested with smaller camapign script before, so they can't be directly compared to p.3 - 5,8 sec turn time.
Regards