Well, THIS I can help you with.
Next time he gets picked up by the cops? DO NOT bail him out. In fact, tell him if you find drugs in your home, you are going to call the cops. Then do it. You can't make him go to treatment, but you can let him know you mean business.
I am speaking from experience. As a former pot-smoking rotton teenager.