Of course, it is much better to fire upon stationary targets. But if your target is moving, it is more favorable to fire at infantry moving directly towards or straight away from you, instead of across your field of fire. If a group of soldiers is moving right past you and you remain undetected, let them get some distance from you before you engage them - preferably from behind.
Above all else - aim for the head. Instead of taking the easy body shot all of the time, have patience and go for the kill. Headshots kill instantly, no matter what kind of armor they are wearing - but more importantly, merely wounding your enemy makes them much more dangerous than simply missing them altogether. Knocking down their health is sure to attract the wrong kind of attention and put them hot on your trail.