I also think you don't own a person, nor can you have the final say in anything they do. Yes, of course you can express your opinion, but ultimately if you have chosen to marry someone, you have chosen to be with them, and accept what they do.
You share a life together, but that does not mean there are aspects that you don't share.
I wouldn't expect my partner to do everything I want to do, and I certainly wouldn't want to do everything he does. I don't think he should control your smoking - if you want to smoke, then it is your choice.
Out of courtesy and respect, I wouldn't do something that my partner didn't like in front if him, I would do it when we are not together. And I wouldn't expect him to do things in front of me. But I would not expect someone to change themselves for me.
If you can only be with someone who never takes drugs, then I think you need to find someone who doesn't, not change the person you have.
The only other option is to change your views, and be accepting of your DH for who he is and what he does.
I can see your point about being stupid - this is an argument put across frequently by anti-drugs people. But, would you say the same thing for mountain climbers? Or racing drivers? Or skydivers? Or any other dangerous activity?