There are a lot of different angles to look at here, but here are my 2 cents, speaking as an addict who is not much older than your son.
Your son is 16 and you are not in control of him anymore. The one person you can control here is yourself. If you let this affect you emotionally, you will be unable to help your son. Your son needs your love, understanding and compassion. He needs you to be there for him, not as an enforcing presence, but as someone who he can trust and confide in.
You need to stop looking at this as your problem, because it isn't. This is a major problem that is for your son to deal with and you are there to help him in a non-controlling way.
Stop controlling, start loving.
A good dose of therapy might help you as well (and family therapy perhaps).
Wishing you happiness and success,
KH