Guns would have two ratings
Damage and penetration
Targets would have
Health and hardness (or Damage Threshold)
The target would have a hardness/damage threshold zone rating on a scale of 1 - 10 (for example), lets say a target has a DT rating of 5-6, for a weapon to have full damage effectiveness it has to have a penetration rating of either 5 or 6. Anything above 6 will over penetrate and pass through, not transferring all the damage the weapon is capable of. Anything under 5 and the weapon would be unable to properly penetrate the target and damage is lost. If the weapon has the penetration of a 5 or 6 it will transfer all it's damage ability.
For every number that the weapon is either lower or higher than the threshold zone a percentage of damage is removed, and for each number the percentage is increased. Under penetration would be a harsher penalty than over penetration. Critical hit damage would also be effected by this method, as well as chance, having a penetration factor under the target's DT will reduce the weapon's chance for a critical hit.
This would also make it possible to shoot multiple targets with a single bullet, ever notice how the .50MG doesn't pass through a person?
Over penetration would work on a subtraction based formula: Say you are using a weapon with a penetration rating of 8 against a target with it's highest DT rating being 4, when the bullet hits that target it would exit with a penetration level of 4 and continue on until it hits another target that completely negates it's rating, using a weapon with a penetration rating of 10 it would be possible to kill 5 targets in line with a DT rating of 2.
This would also allow for the creation of more special ammo types.
Hollow Points would increase damage and decrease penetration ability, under penetration penalty would be slightly more severe.
Jacketed Hollow Points would have the same effect to a lesser degree and without the added under penetration penalty.
Armor Piercing would decrease damage and increase penetration ability, over penetration penalty would be slightly more severe.
Jacketed Soft/Flat Point would have the same effect to a lesser degree and without the over penetration penalty.
This would also allow for objects to be shot through, giving an object a DT would allow with the proper rating to pass through. A mail box will no longer stop a .44 Magnum! lol
Implementing an enemy or object with variations of DT zone width would also introduce the simulation of depth. Like a small individual would have an un-armored rating of 1-2 and a large fellow would have a rating of 1-3.