This is one of the main reasons I don't like riding in a snaffle, ha ha. I can control my horses any other time out on the trail, even running, but with a snaffle and tall grass or bushes, well, they just dive for it!
If I were going to try to correct it I would tap them with spurs the second they dive for it, but that tends to make them anticipate the correction (like you mentioned) and then you just have a horse that dives quickly and rushes forward. It's like they feel the reward is greater than the punishment so they do it anyway.
I ride in a curb most of the time mainly because of the food diving issue. Then I can catch them before they dive and they can't pull the reins through my hands. That makes me sounds like a little kid on a pony not the 200 lb. Woman that I am, lol! The only real solution I've found is to stop them before they dive. And on bushes sometimes I can't walk past them without them grabbing a bite.
As winter comes on and the grass dies, it becomes a non-issue.
I know I make matters worse because I DO let them stop and eat grass here and there. But they don't have pasture so I feel like grass is a real treat for them. So it isn't a big deal really. But it CAN get annoying certain times of year when the foliage is extra nice!