When firing the Colt M4A1, whether to fire full auto or semi-auto is your choice. Most people prefer to fire semi at long/medium range and auto at medium/short range, but really it is your preference.
When firing full auto at mid to long range and at the longer of the short ranges, fire aimed shots and fire bursts of 3-5 rounds. Make sure you bring the scope back on target after each shot.
When firing semi-auto, aim each shot. Unless you are surprised and/or firing semi at short range/close quarters, fire each shot separately. After taking a shot, pull the sight back on target. At long range, aim for the body. If the head is large enough, feel free to put the sight there.
Remember, practice, practice, practice. The firing range is there for you even after completing training. Type "mpcheat changeclass m4a1", or "mpcheat changeclass sf" (without the quotes) for an M4. If you want to play AA but are having a bad day or don't have the time or access to play online, go to the range.
As far as I have seen, the M4 is remarkably inaccurate for an assault rifle. Especially do not use Automatic fire unless you are in CQB or want to harmlessly plink bullets around someone. This does indeed lower their Combat Effectiveness Meter, but it still is not worth the expenditure of ammunition and exposure. If one plays Weapons Cache, you will undoubtably find people who will empty their magazines at 50 meters to hit with only two bullets. Use the Semi-Auto setting and close range when possible.
It's true the M4 is actually inaccurate, however firing this rife on semi is an absolutely useless gesture. True to form, game developers made the M4A1 inaccurate for added realism. Unlike its counterpart, the M16A2, the M4A1 has a much shorter barrel (it is a carbine) and thus less lands and grooves (rifling). With the decrease in spin on the bullet, it becomes less accurate. Shooting in semi automatic mode even at long ranges will make you miss more than you hit, similar to firing on full auto. If an OpFor is running away and you are able to get off 10 inaccurate shots on semi, why not get off 30 inaccurate shots in full auto mode? Soaking a target with fire is much more effective than taking potshots at it.