Head mesh jumps into the eye mesh after joining armatures
I had a look at the file. This is caused by your shapekeys that uses vertex groups. Weighting is also assigning vertex groups. And that's what is conflicting here when you skin your headmesh. When i remove the vertex groups for the shapekeys before skinning then all works well.

So, first skin the head mesh, then create the shape keys for it.