Not to mention the influx of Brute weapons like the Spiker and Mauler (which were nearly useless on Legendary), Brutes had a tendency to carry Brute Shots a lot less often than they did in Halo 2. In Halo 2, the later levels would have plentiful amounts of Brute Shot ammunition, either from weapon crates or Brutes themselves. In Halo 3, they were carried almost exclusively by high-ranking Brutes, leading to them becoming rare and difficult to utilize without wasting grenades.
And as you said, the ricochet removal was a harsh nerf. There was also a slight damage nerf that led to even Jackals and Grunt Majors (basically the only Grunt unit you face on Legendary in H3) being able to tank two direct grenade hits.
A capable player with a Brute Shot can blaze through Uprising and High Charity in Halo 2. If you combine that with my favorite bug in the series (clone Sergeant Johnson!), you can turn the last two Arbiter levels into a cakewalk.