It depends on range of target. At long ranges, 200 metres + then its more about luck rather than anything else. But in my opinion I've been here since MM and the best way I've found is to aim true, aka, point the pointy end at 'em and hope for a hit. Just aim at their heads at long ranges but if they are a long way away you have a low chance of a hit, and even if you did without a high body shot or headshot it wont be a kill.
At mid range about 30-200 metres you have to aim up there body. Starting at the head and aiming lower according to distance. Its also good to allow for a little bit of bullet time if the line is moving but not much. Especially if shooting cavalry give a good distance ahead even at close range.
At close range 30-ZOMGINMAFACE its all about timing. Your best chance is to predit where they are running, present and hold your fire until they run right into your crosshairs then pull the trigger. Its like clay pigeon shooting IRL you aim where its going, not where it is. Aim a little above the centre of their torso since you dont want to aim for legs since they move alot, and the head is too small.
As for aiming in general just take your time, dont take longer than 5 seconds though since thats just too slow firing rate. Wait for your soldiers aim to rest and release.