What I have found is that if you are a good employee (ie: show up on time, do your job, get alone with others, etc.) that there are only an extremely small amount of companies that will want to get rid of you. No matter what you do on your breaks or when you are off the clock. Good employees are Very hard to find.
The opposite is also true. If you show up late and are a piss poor worker, well, companies usually find a way to get rid of you. This goes for people who smoker, use e-cigarettes, chew, what ever.
But this is really nothing new. What is new is that in the age of the Internet, if Joe Blow gets fired that you can read about it from about a dozen different sources. And if he claims to have been fired because he was a smoker, and not for a performance based reason, it makes for good copy.
The same applies to job applicants.
I don’t know any non-smokers that would prefer hiring a smoker over a non-smoker. You can call it “discrimination” if you like. It’s just the way of the world. So if you walk into a job interview with a pack of smokes in your pocket and have the same qualifications as the applicant before you, your just not going to get the job.