I had a problem with a "Sniper". That's a person who makes a smart-assed comment that derails what you are explaining to others and makes you look bad. After some observation and thought, I realized they weren't doing it because they were socially inept; they were doing it either to be mean or for corporate advancement.
The book I mentioned gave a great way to deal with it.
Just look at them with a puzzled look. With a gentle, questioning voice, look them straight in the eye and say, "As I understand it, the purpose of this meeting is to improve the productivity of process X. It's not clear to me how your comment about my attire advances the purpose of this meeting. Would you explain?"
You see, the one thing no sniper wants is to be in someone else's crosshairs.
They might reply with something like, "What, can't you take a joke?"
This is where the fun comes in. And trust me, this is REAL fun.
No matter what their response, unless it's a sincere apology, respond in this manner, with a gentle, questioning voice and demeanor:
"As I understand it, the purpose of this meeting is to improve the productivity of process X. It's not clear to me how your statement about whether I can take a joke advances the purpose of this meeting. Please explain it to us."
If they give a rude, "Never mind!" and you're still in the mood for more fun, you can always respond with:
"No, seriously. We all want to be inclusive and get everyone's input. If you felt it was important enough to bring the topic up, we want to understand how it will advance the purpose of this meeting."
I've only had to use this once, but by God, did it work. And boy, howdy, did they squirm in that spotlight.
Not only did they stop sniping at me, they no longer sniped at anyone in my presence either.
And because I was so nice and polite about it, no one could give me any grief about being unprofessional.