While I don't personally assign to the idea that the balancing is the worst thing ever because I think the game's problems are more in terms of the content available and for the most part I like the weapons outside of a few bugs and stinkers, I do think the game could be a bit more fun if they changed the way armour works in the game.
Currently the way it works is bullets have a penetration value and armour has an armour value, if the penetration is equal to armour; reduced damage, If the penetration is higher; full damage and if the penetration is lower then no damage and the bullet riccochets.
Pie in the sky, could completely redo things, I ran some quick numbers using an armour formula I've used before and I'd say make the damage modifier scale exponentially based on (armour value - armour penetration), so the greater the difference between your penetration and their armour, the greater the multiplier, higher deals more damage and lower deals less, simple enough.
But I quite like the riccochet system and you don't want a peashooter to be able to deal damage to a tank, so I'd say if the damage multiplier is equal to or less than 0.2x, then the bullet riccochets, in chart form it would look something like this:
Then, on top of this, there would be a secondary mechanic where shots also degrade the enemy armour by a certain amount, this would allow you to degrade enemy armour with sustained fire even if your penetration isn't high enough to deal damage, up to a point.
If the difference is too high then the degradtion would be none, and if the enemy armour degrades a certain amount from their default value, say 3 stages, that's when you get the armour break and it goes down to 0 for that part.
This would require completely rebalancing enemy health and armour values so it's not something I'd ever expect them to do, but I think it's a fun little alternative to how they could go about it and I like to think about this sort of shit.