"What's the matter, our food isn't good enough for you?"
A really good answer for that is...." No, actually, it isn't. It contains wheat!" And say it with a smile on your face....that always gets them.
I always just use the opportunity, when dealing with snarky people, to turn it around on them. And if I can make their head explode with my answer, I know I have done a good job.
I don't think they are "haters", their attitude comes from ignorance. Unresolved anger and ignorance are a bad combination.