With well-trained troops, that's not as much of an issue; American infantry is far deadlier than they were 40 years ago, in part due to more accurate fire.
https://www.strategypage.com/dls/articles/Snipers-Rule-1-22-2012.asp
Currently, about ten percent of American infantry are trained and equipped as snipers. Commanders have found that filling the battlefield with two man (spotter and shooter) sniper teams not only provides more intelligence, but also a lot of precision firepower. Snipers are better at finding the enemy, and killing them with a minimum of noise and fuss. New rifle sights (both day and night types) have made all infantry capable of accurate, single shot, fire. With the emphasis on keeping civilian casualties down, and the tendency of the enemy to use civilians as human shields, lots of snipers, or infantrymen who can take an accurate shot at typical battle ranges (under 100 meters), are the best way to win without killing a lot of civilians.
"Spray and pray" is what our enemies do, now. While it never hurts to have more ammo, round for round aimed fire is far more effective, making the ability to carry hundreds of rounds less important.
Spray and pray wasn't what American troops were supposed to do. One element would put down fire while another element would advance. Repeat as necessary to close with and destroy the enemy. I don't doubt what you say is accurate regarding the use of snipers in Afghanistan and Iraq, I just wonder how practical it would have been in terrain like Vietnam, or in situations where we don't have so many tactical and technological advantages over the enemy.