The current formula for PD penalty is definitely wpf - max(14*PD - (1.5 ^ PD), 0)
However, in-game, there are currently a few bugs with the penalties resulting in ~30-40 higher wpf on average than expected for archers, throwers, and horse ranged. We're currently trying to fix the penalties while keeping a similar standard of accuracy that the bugged wpf values gave ground archers. At the moment, take archery damage values as a loose approximation for now that could be off by a few points of damage.
Also, ranged to human penalties:
calves: 85%
feet: 70%
shoulders: 85%
upper arms: 75%
forearms: 70%
hands: 65%
Rain is also a 10% penalty to your raw damage, which is around 30% less final damage.
The head is also around 220%, but I'm recalling that from memory.
I'll try to update it again when the current bugs are fixed.