Generally, I use the "look big" approach. I try to take up more space by widening my stance or my arms. I do this in a lot of personal space situations, like lines or crowds. For a buffet, if there's someone behind you who seems to be in a bigger rush than you are, I think it would be a kindness to let them go ahead. It also might decrease the pressure or stress of feeling as if he's pushing you along. As far as making selections on a buffet, I think it's reasonable for people to take a few seconds to scan their options as they move through the line.
I had a guy behind me once in line who actually shoved me. This was not at a buffet though. This was at a church training for deacons. We were all learning the proper way to process down the aisle. We all were assigned specific spots in line. I was standing in the proper spot for my position in line, but there was an empty spot ahead of me because the person who was supposed to be in that position wasn't there yet. The guy evidently decided I wasn't in the right place because of the empty spot ahead of me. Rather than asking me if I was in the wrong spot, he shoved me toward the empty spot in line. I turned around and gave him quite a look. He just stared at me, and then the person who was supposed to be ahead of me in line took her spot. He never said a word -- no apology, nothing. I don't know him -- had never met him or noticed him until the day of that training. I can't imagine putting my hands on another person and physically shoving them that way.