surely just having smoking areas would get round the problem? in countries where they do the whole zero tolerance of smoking thing, it seems just a tad drastic. Smoking areas where non-smokers don't have to go, instead of a blanket ban which encourages smokers to light up in packs.
There, problem solved