I shouldn't have to pay the medical expenses for smokers
You don't subsidize them. They subsidize you. Do you know how high cigarette taxes are? They are more than high enough to cover the expected additional health care costs of smoking. Much of this is because many smoking related diseases, such as lung cancer, are not that expensive because they kill fairly quickly and there are no good treatments. Additionally, smokers pay into social security and medicare just like everyone else, but they are more likely to die before they collect their share of the benefits.
Alcohol is trickier than tobacco, because in moderation it is actually good for you. But alcohol taxes hit everyone, whether they drink to excess or not.
If you want drug users to pay their own way, then you should support legalization and taxation.