so basically, you are thinking cannon/punch/explosive, with the explosive damage done after the punch damage? provided that it hasn't over/under penetrated? this sounds like a wonderful idea! However, the explosive effect, as you said, doing reduced damage against armor, to help balance, is not enough. it should have the same damage reduction against shields. Just to put a number on it say down to 10% of normal damage.
So if the c/p/e gun does 20 punch damage and 80 explosive damage
against shields it would do 20 punch damage and 8 explosive damage
against armor without penetration it would do 20 punch damage and 8 explosive damage
but against armor with penetration (punch damage ends on a non armor block) the full 80 explosive damage would be applied
Something like this?