The stretching at the equator can be fixed by making the texture "twice as wide" (scale the first texture coordinate by 2.0), and the seam where the first 2-D texture coordinate jumps from 1.0 to 0.0 can be removed by making the 2-D noise periodic with a matching repeat period. The uneven scaling with latitude and the ugly pinches at the poles remain, though.
// Fragment shader code goes here