This is one of those all important decisions that government hasn't gotten right yet.
Here's a thought, leave it up to the establishment in question as to whether they wish to allow smoking in thier restaurant, bar, brothel, whatever. I know its crazy has hell, but I think it would work much better than the dumbass regulations they passed in New York. The government there basically banned smoking in all eating, drinking establishments. Direct result? 50% loss in business.
Now, I'm not sure how non-smoker's minds work, I haven't been one in a while, but if I was completely disgusted by people that eat, hmm, lets say bagels, I can tell pretty quickly when I enter an eatery whether or not the people there are consuming bagels. It is up to me to stay and deal with or leave. Same for smoking, if there is enough smoke in the air to bother people, they can tell upon entering the room. It should be up to them to determine if they want to spend their money there or elsewhere. Government should have no say in this.