Raise the taxes on cigarettes and use part of that tax to cover health care costs.
Furthermore it is unclear which is greater: the extra costs to health care from smoking cigarettes or the savings from when people die younger and thus avoid health care costs that would have accrued when they were older. But regardless I like the idea of taxing cigarettes more as a nudge towards more healthy behavior, not as force, but just a nudge.
Smokers who develop lung cancer should be provided health care because they are people and your equal. People develop cancer for many reasons. Twenty three percent of the people who die of cancer never smoked. I believe that to deny health care to any person is discrimination. No matter what their condition or the perceived cause of their condition.
Singling out smokers is a way of bringing back the institution of "previous conditions" that they insurance industry exploited for monetary gain. The goal of health care is to provide medical services, not to make money. If you judged everybody on their bad behaviors, no one would be able to get coverage.
I don't think that someone should be completely denied health care, but if there is an issue that they're having that was caused by their own actions that can be avoided (such as smoking), then that should not be covered by government healthcare (aka our tax dollars). They should pay for it themselves.
If you have health problems and seek a doctor's care, you need to do what that doctor tells you. If you, as a smoker, develop lung problems, you need to stop smoking. This is the same to me as a fat person going to the doctor complaining of joint pain. First, you need to lose weight. It may not get rid of your problem, but it will be a good start. If a smoker stopped smoking and still developed lung cancer, then they should be able to receive health care.