I myself would use some kind of periodic timer event ( something like "Every 15 Seconds of Game" ) The trigger should be inactive until all heros are choosen, because otherwise the battle would start ( to keep the sample: ) 15 seconds after the host is within game and not if all players are ready to go. But you should check if the buildings necessary for the units are placed ( that's it in dota i beliefe, but no shure )
Event:
Every 15 Seconds of Game
Condition:
<spawning condition>
Event:
if <condition necessary for this unittype> then
create W units of Type X at position Y owned by Player Z
Else
<do nothing>
simply repeat the if-sentece for each spawning-position and/or each required building as you like to ^^