Leading a target in BF2 is kinda difficult because it's really just a small distance to lead.
It's almost right on target,as if you anticipate the next step in your aimed direction.
But with practice headshots on running targets should be possible.
I could pull this off in BF1942,killing running targets with one shot,but at that time there was no global ranking or awards so I always played as a sniper in BF1942 and the complete gametime was spent on practicing how to shoot.
The sniping in BF2 is a littlebit different(or maybe that's just my feeling of it,I played Sniper Elite before buying BF2),leading targets and estimating bulletdrop takes practice but you'll eventually get the hang of it.
My problem with the sniping is not the long distance shots or the bulletdrop,it's that on mid to close range sometimes the bullet doesn't hit at all,although the crosshairs are right on target.There's no bullet-drop at close range(or just very,very little),I always take my time for the shot(like in Jarhead:fire,fire,fire...hit,3 times checking the aim before firing) and yet the shot misses.
This really bugs me because in all fps I've played I always used the sniper and was very accurate(1000m hits in Project IGI2) and now this crap happens.