Mage Armor, Longstrider and Arcane Ward have ridiculous VFX for a low level effect that's always on. I've suggested before they should be invisible and show VFX only when they are activated i.e. you are attacked or a character with Longstrider is running. Another option would be icons somewhere else.
Having the effect only manifesting when hit is an excellent idea.