An essential part of civility is pointing out acts of incivility.
In contrast, many moderns seem to believe that merely acknowledging the possibility of incivility, is itself the height of incivility. But that's nihilism, not civility.
If you don't curb incivil behavior somehow, you are effectively encouraging it -- that's because often they have something to gain from it. Despite morals and goodness of people, if something incivil unequivocally leads to gain, it will become the norm. A social backlash is a collective way to fight it and align the ethical with the "rational" (in the many situations where the law isn't applicable).
Now that I think about it, there's been some interesting research that explores where the threshold for such flip-flops in mores are; but I have no handy link to that. Anthropology has shown that some societies which value viciousness and cheating exist and are stable. I gots no handy link for that, either, however.
It's a vicious cycle. That's kind of my point. Smokers are assholes because they were harassed. Non-smokers harass smokers because they are polluting assholes.
Your theory falls apart when you remember that smokers were littering and smoking next to pregnant women from the very beginning, generations ago, before they started to get any social pushback at all. Smokers have always behaved like this, their behavior predates the reaction against it. Being inconsiderate comes as naturally to a smoker as singing does to a songbird.