He's always struggled in school (which I don't understand since he is super smart)
The hallmark of a dual diagnosis kid. He can be gifted and have ADD. He can be gifted and dyslexic. He can be gifted and have short term memory probems. Or he can be REALLY gifted and be bored stiff in school.
If he's never been carefully evaluated for learning disabilities I suggest you get him tested.
Also, he's old enough to request to live with you full time - do you think that would help?
And - drug test. Even if you don't think it's possible. Listen to the voice of experience.