I've developed over time a mind set in these situations. I purposely see my self as an Ambassador of Bicycle Love. Every encounter is a chance to do Out Reach. Out Reach that might just change a person's life. Forever.
To start, my first assessment is if this person before me is giving off psycho vibes, I've learned to trust my inner gut. If it's psycho or rageaholic vibes I am getting outta there . Simple.
Now if it's curious questions as to why I wear heels and how do I do it, then I'm prepared. I hand them a business card, invite them to visit my blog. Ditto for the whole gander of merely curious type questions; what bicycle I am riding, where did I get it. Or my favorite-- "how fast can you go on that thing".
I generally try to be as helpful and friendly as I can be. Spread the Bicycle Love.
Note: if I were riding a brand new Abici bicycle or some other ballpark $$ 2K bicycle - Pashley, Oma Workcycle, Batavus or the like I would hand them a card too. This one with the bicycle shop where they could go buy a bicycle just like mine - with this caveat - that they go tell the LBS/Manufacturer that RidngPretty sent them. I would like to earn brownie points (I'd deserve them!) with said bicycle manufacture and LBS. After all I am a BIG talking, walking (rather riding), stylishly attired, blogging billboard for them!
Onto the grossly misinformed, if I can stand it I would try to talk my way through whatever misunderstanding they present me with. I actually haven't had to do this yet but if I continually got the same repetitious question again and again I would print up a card with a quick faq answer. One with either my blog address included on it or not. My choice.
For the flat out jerks (those that aren't in the psycho category) I size up what my chances are of making a positive impact. I won't stand down but I won't let them escalate me so that I'm ranting/screaming as loudly as they are. It really is a case by case situation. Thankfully I encounter this situation rarely. My community is a very bikey town and always has been.