The only sane way to do this would be in JASS. Also, for the unit takes damage event, that refers to a single unit only, not to any unit. In GUI, this is harder to do than in JASS, especially if you want to avoid leaks. When a unit takes damage, you'd have to detect the amount of damage and add that amount to the unit's life. There would, however, be problems with this as what if the damage was more then the unit's hp?
I believe there is an item ability that does exactly what Mirror Image does. Your other option for replicating this effect is when the unit is attacked, create a dummy unit that will cast Mirror Image, and then Invisible on the hero. The hero shouldn't take damage, but if he does you could also try making the hero temporarily invulnerable.