Would this be the correct method or is there a better way to do this?
If I remember correctly, worms had strange bouncing and things didn't always reflect as you'd expect them to. It was probably done on a pixel basis. If the missile hits the corner of a pixel, the normal is at that 45 degree angle. If the missile hits the side of a pixel, the normal is at that 90 degree angle.
The way I would do it is to create a search radius ... maybe a square of 8x8 pixels, and calculate it's centre of mass (earth pixel = 0, air pixel = 1). Then calculate the vector from the centre of the square to the centre of mass, and normalise it.