How about creating an evasion with 99 levels, from 1% evasion to 99% evasion. Give to all heroes.
Then make a trigger with a periodic event to set the level of the Evasion to the % you want based on that hero's agility.
For example, if 2 agility = 1% evasion. You'd set ability level to Hero's agility / 2.