xienwolf
Deity
Nifty trick which I just discovered and you might find useful 
The XML entry in PromotionInfos <PromotionNextLevel> is used to cause the main promotion to not display in the lower left info box when a unit has the next level promotion. If you should list a promotion as its own Next Level, then it just won't show in the display (unless they get mouseover information).
It might be a simple switch to have even the mouseover information remain un-displayed (copy/paste to the right spot in the SDK), or you could just use a blank .dds file so that instead of seeing any promotion there is a simple empty space (which would work best with making certain that the promotions you hide in the manner will always be at the end of the promotion list. Either that is alphabetical or by order of listing in the XML, each of which is easily controlled).
This way, you can achieve "Ninja Promotions" to have temporary effects hidden from the player.

The XML entry in PromotionInfos <PromotionNextLevel> is used to cause the main promotion to not display in the lower left info box when a unit has the next level promotion. If you should list a promotion as its own Next Level, then it just won't show in the display (unless they get mouseover information).
It might be a simple switch to have even the mouseover information remain un-displayed (copy/paste to the right spot in the SDK), or you could just use a blank .dds file so that instead of seeing any promotion there is a simple empty space (which would work best with making certain that the promotions you hide in the manner will always be at the end of the promotion list. Either that is alphabetical or by order of listing in the XML, each of which is easily controlled).
This way, you can achieve "Ninja Promotions" to have temporary effects hidden from the player.