The smell isn't bad - I advise you to stay out of the casino, though, and many of the bars & lounges.
Unfortunately there are no nonsmoking ships among the major large-ship cruise lines, and very few elsewhere. NCL used to have nonsmoking cabins on one side of the ship, but they don't any longer - probably because it was impossible to enforce.
Although not allergic, I am sensitive to cigarette smoke, and I have found very few areas on cruise ships, outside of those I mentioned, where I've noticed it enough to feel even slightly uncomfortable. Crews usually do a good job of cleaning a cabin, including getting rid of all but the smallest traces of the smell of smoke, but if you are worried about it, check with your doctor for meds you can take in case of attack, and you may want to consider bringing along a small non-aerosol bottle of Febreze or similar product, just in case.