Myabe we can idealize (lol) on a method for a turn based system. My idea would be to, when battle begins, take the level of the hero or maybe agi and use it to deterimine how first turns are lined up.
Example Hero 1's agi = 5, Hero 2's agi = 6, monster 1 lvl = 4, monster 2 lvl = 5 .
So order goes, in favor of hero's; Hero 2, hero 1, monster 2, monster 1.
With monster 1 being the same as hero one, maybe heros can have a number stored with a .5 extra and used like with a less then or equal to something condition.
Now say all those numbers are stored as a variable, and a trigger checks for those variables from greatest to least. Once it hits the unit with the highest variable, the unit gets its turn, then when it uses its turn, its variable gets set to 1 or uses a diff variable and sets it to 1.
With every turn the variable gets a +1 so eventually everyone gets turns distributed evenly. Maybe u can even have a spell like in ff-10 where you use tidus's ability to set their turns back, you could have a ability when used on a unit, that does, say -2 to the defending units turn variable.
The only way I see this lagging to much, is if you have a big array of levels or agi to cover and has to scan like 20-40 early game to get to the low levels, late game when fighting higher lvl monsters it wouldnt lag as much cuz it wouldnt need to search long to get a unit since its variable will likely be high.
Thats my approach to it, for attacking, I would have the unit have an ability thats ranged but make it very close range so it has to run up to cast it or something. Probably have attacking randomized unless lag lets some type of triggered AI take place within the scanning and attacking triggers.