I think damage for all units is calculated as:
damage per shot * penetration / armor
Accuracy is determined by accuracy value at N/F distance multiplied by target size. Infantry is always 1, light vehicles are 20, super heavies are 26. That way Panzershrecks (0.025 far, 0.05 near) still hit vehicles but always miss infantry.
Accuracy table * target size
