I would go so far as to add a minimum damage which is somehow calculated based on mass/armor distribution or something (someone smarter than I can figure that part out

). If an attack hits armor and does less damage than that minimum, it does nothing. If it's over the minimum, then it starts causing damage. This is more like real-life armor. You could shoot 1,000,000 rounds of 9mm Luger at a main battle tank and it will
never dent or damage the armor because the steel is too hard and most small-arms fire is below the damage threshold. Upgrade to .50 BMG with armor-piercing incendiary ammo, though, and you'll get throug.