You are doing all that you can for your S. The only thing that I can think of is to put him in a treatment center. Does he go to C? If he does I would talk to the C and see what alternatives you have. He might not be doing other drugs but they are out there.
As far as your H is concerned. It is easier for him to say he is done with your S right now. He doesn't care about anything but himself and will for a while. All the things he said about the pets, etc, is just his reason to not feel guilty for leaving.
Keep working on you and find the peace you deserve!