I have a hard time understanding how an activity beloved by so many can be squeezed out so efficiently. Smoking is certainly bad for you, but no more so than drinking. In fact, I believe that the evidence for second-hand smoking effects are so unconvincing that drinking is probably more a danger to non-drinkers than smoking is to non-smokers. All things considered, smoking doesn't seem to be an excessively harmful vice.
A representative government guarantees people the right to make stupid decisions as long as those decisions don't unreasonably infringe the rights of others. Smoking is one of those stupid decisions that are protected. Economics and etiquette should be able to cover the friction points. Economics should encourage public establishments to create real smoke-free areas if they are a selling point. Etiquette should handle ambiguous situations.
Despite these effective societal controls, the government continues to regulate smoking more stringently. People's opinions vary widely enough on this issue that the regulation should be more loose. This increasing legislation in the face of a divided opinion implies that voters are not choosing candidates based on their smoking stance.
Here's a way to make smoker's rights an issue without compromising on other issues: run a candidate as a smoking rights referendum. Pick a district, preferably one where one party has a virtual lock on elections, and run a carbon copy candidate that differs from the lock candidate only in smokers' rights. Smokers and voters who support smokers' rights would be able to make a clear statement on the issue that may have repercussions on a national level. If the candidate opposes tobacco advertisements to children, you could probably even have tobacco companies finance the campaign.
I don't smoke myself, but I like to occasionally start a metaphorical fire.