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.
Snipers do not kill honorably. Never hesitate to shoot your victims in the back. This will confuse them as to the general direction of your attack. In turn, they'll have less opportunity for a revenge kill. However, killing the same soldier two or three times will most certainly put them on the hunt for you. If you're skilled enough to get repeated executions of the same soldier, pick up and move to a different perch, or at least be prepared for an angry search party - a circling UAV nearby is a good sign that you are in danger.