Actually, the projectile impact detection you're talking about is very easy to emulate. Ironically I've had this idea the day before 1.31 PTR hit, and then it was kinda hard to implement, but now that we can separate Attack damage and Spell damage, its super easy, barely an inconvenience.
Each ability that deals damage should deal unique amount of damage. E.g. Firebolt would always deal 7 damage. If Damage Taken == 7 and Damage Type == Spells, then you simply have damage source deal desired amount of damage to the target, or spawn a buff-applying dummy, etc. Attack damage was the only problem with this concept, since its normally very variable.