Well, you're basically asking for a damage detection system and you want it in GUI. Unfortunately, GUI damage detection systems will either be annoying to make or be very, very imperfect.
If you don't care about the ranged unit bug that Skizzik mentioned, then you can go ahead and use Event-Unit Attacks (although there are other problems, like what if the unit misses cuz of evasion or unit moving/cliff height difference, etc.). If you want it to be foolproof (or at least more so), you need to create a trigger that detects whenever a unit is created in your map (including units present at gamestart). Then, that trigger will register a unit is damaged event for some GUI trigger in your map (this is the only part that would have to use Jass/Custom Script).
Then, have that GUI trigger dish out the bonus damage (use Event Damage Source to get the damaging unit).
So in pseudoGUI...
Trigger bonusDamage
Events
(none)
Conditions
-(Event Damage Source) has (<appropriate buff>) equal to (true)
Actions
-(Event Damage Source) damage (Triggering Unit) for ((Event Damage Source)'s (Current Life) * 0.10 ) using (Attack Type Spell) and (Damage Type Normal)
Trigger addUnit
Events
-Unit enters Playable Map Bounds
Actions
-Custom Script: call TriggerRegisterUnitEvent( gg_trg_bonusDamage, GetTriggerUnit(), EVENT_UNIT_DAMAGED )
Trigger addUnitMapInit
Events
-Map Initialization
Actions
Pick every unit in group (All Units) and do:
-Loop Actions: Custom Script: call TriggerRegisterUnitEvent( gg_trg_bonusDamage, GetEnumUnit(), EVENT_UNIT_DAMAGED )