Heightmap on sphere gives a weird equator I tried applying this heightmap on a sphere to obtain the surface of the moon.

Here is a step by step procedure of what I did:


Created a grid of 1024 X-subdivisions and 512 Y-subdivisions
Scaled plane along x axis by 2 (Didn't Apply Transformation)
Modifier Properties->Add Modifier->Deform
In Deform Properties Texture->New->Show Texture in texture Tab
Image->Settings->Open->Selected the image above
Went to edit mode
Went to Orthogonal Top View and Select All using A
Rotated along X by 90 (R->X->90)
Rotated along Z by 180 (R->Z->180)
Moved it along Y by 1m (G->Y->1)
Mesh->Transform->Warp
Warp Angle->180
Rotated along Y by -90 (R->Y->-90)
Mesh->Transform->Warp
Warp Angle->360


The result was this moon:

The Different Views


You can see that the top view looks perfect, but I don't think the top view in my model is the actual top view to be obtained by this image. 
I think that the sphere needs to be rotated but I am not sure what direction.

Along the other views you can see that the model along the equator seems weird. It seems stretched along the middle region. I dont think that it is an issue of the image but I am not sure.

What have I missed or messed up? And how do I fix it?

Also is there any other better way to do this?

And the rotation of the model, what is the correct one?
Sorry this answer only the "is there another way to do this". Check out @Cegaton comments for pointers to ways to fix your problem.

Since your texture seems to be Equirectangular (tell me if I am wrong), you can use Environment texture node which can be used directly on an sphere or icosphere without manual UV mapping. 

The example below uses cycles adaptive subdiv modifier (requires experimental features enabled). This works also with regular bump displacement with Cycles and Eevee.