I don't think that "stoner" has that many negative connotations, not round here anyway. "Pothead" is the worse of the two names, but that's because most people saying it mean it in the same way as "cokehead" or "crackhead". So, "stoner" gets my vote.

(I do like the idea behind "cannabinaut", but I just don't like the look of the word. I'm odd.)