I think smell itself does not warrant any labelling of "selfish".
If ciggie smell on a person makes a person selfish, im sure there are so many out there who will be called selfish even if they don't smoke.
Personally i find the act of smoking, can be a little more considerate. (ex-smoker here)
1. Don't smoke in the hdb lifts
2. Don't smoke directly in the bus stop (if there are other non-smokers waiting for bus there)
3. Don't occupy non-smoking tables
4. Don't smoke in parks
5. Don't throw ciggie butts out of car windows while on expressways/roads, very dangerous for bikers.
6. Don't smoke near petrol kiosks, hospitals, clinics
For non-smokers, they can be more considerate by:
1. Don't wave your hand infront of the nose everytime you smell a little bit of smoke. It's rude. Don't like it, just move away. Don't see a need to make a big fuss and let the whole world know. Most of the time, the act of moving away signals to the smoker, usually the smoker will apologize and move away or stub out.
2. Don't occupy smoking tables, it doesnt matter if you can't find a seat or you damn hungry. Taking a table for smokers, what will that end up to? Smokers have to stand around and smoke, and then more complaints again.
3. If you see someone smoking, don't purposely go and stand near, and then complain, make a big fuss. Don't talk about human rights, and rights to stand at the spot or whatsoever. These people, no trouble find trouble, are worse than selfish smokers. All you need is some patience, stay away, wait for smoker to finish. (don't think the smoker will finish an entire pack at the same spot)