I won't sail NCL because of their lack of restrictions on smoking.
When I select a hotel room, I can ask for and receive a room on a non-smoking floor.
Why can that not be done on a ship? One side smoking ; one side non-smoking?
I think that could resolve a lot of the issues.