I think there is a relatively "easy" fix for this: change the damage calculation to respect a weapon's "caliber" value before passing on its "hit"/damage. No "caliber" value would result in the current behavior, but any weapon with a "caliber" value would have to penetrate before causing damage.
Relatively realistic vehicle damage could then be achieved by assigning appropriate "caliber" values to most weapons (including many missiles and rockets which have no caliber value currently). e.g. a weak RPG with a substantial "hit" value but poor penetration (low "caliber") will NOT destroy a heavily armored MBT.