Kinda winging off into house rule territory here...
One way to model the relationship between primitive gunpowder and armors is to implement a Damage Reduction system for armors (either across the board, or simply vs ballistic weapons) AND reducing balistic damage based on range increments to model the projectile's decreased effectiveness at longer ranges - perhaps the same -2 Cumulative that is imposed on Attack rolls.
In D20 Modern, yer basic bullet does 2d6 damage, but a Musket has inferior ballistic properties, so perhaps a reduced range increment (20'?). I've seen DR systems based on 1/2 the Armor Bonus = DR. That sounds pretty reasonable.
So, by example: Musket vs Breastplated (DR = 2) target at Ranges:
20' - Ranged Touch Attack at no Range Penalty. 2d6-2 (DR)
40' - Ranged Touch Attack at -2 (increment). 2d6-4 (DR+Increment)
60' - Ranged Touch Attack at -4 (increment). 2d6-6 (DR+Increment)
80' - Ranged Touch Attack at -6 (increment). 2d6-8 (DR+Increment)
Another way to do it would be to allow Armor-based DR to scale vs range (rather than the range itself imposing the reduction) - either increasing it by 2 each increment, or (more interestingly) multiplying the Armor's DR by Range Increment (1 through 10). For Breastplated folk, this works out the same as the above method, but it's much easier to damage unarmored folk (DR = 0) and virtually impossible to touch Full Platies at any kind of range ( DR = 4) At 80' they'd only get 2d6-16...
Either way though, Armored folk would have an edge vs long ranged musketballs (as it should be), but they're still fairly vulnerable up close.
A'Mal