It's down to RECOIL and is really only a problem with infantry carried machine guns (M60 and PK but not the MGs on the vehicles since they have no recoil).
The AI basically fire on full auto and the higher their skill the faster they fire (this is due to the 'aiRateOfFire' command) BUT they do not compensate for the recoil - thats the problem.
Solutions...
1. Use a custom recoil effect (I use the one Kegetsys did for his RPK47 and RPK74 machineguns which were part of his Russian weapon pack). In the PRONE position AI gunners don't fire so far over the enemies heads.
2. Use the silenced weapon recoil (HK and Bizon) - -unrealistic recoil for a MG but the weapons now form an impressive addition to your section's firepower.
3. Introduce BURST modes to the MGs - unrealistic since MGs have no burst modes as such BUT the AI now use the MGs EXACTLY as they should in real life. I have my MGs tweaked for the AI to fire short bursts at nearer targets and longer bursts at further targets. This also eliminates the AI firing a weapon at different rates of fire which I hate. As the player however I still use the atomatic mode and fire my own bursts.
Together with Kegetsys recoil and higher values for the 'aiDispersionCoefX/Y' commands (5 for X - horizontal, and 1 for Y - vertical) the AI now put down proper supressing fire at the feet of enemies which actually makes them keep their heads down in the prone position.