The book you have spends a chapter on coordinate precision and render relative to eye (pp. 155ff.) and has exsample code in C#/GLSL but that is easily transferable. I could not explain it better (or shorter :-)) I have tried it out (it works), but with a different LOD algorithm than the examples in book (no chunked LOD or clipmapping because too CPU intensive). In my take on LOD of a height map only the bounding boxes of the nodes to render this frame have actual world coordinates, the terrain itself has no mesh except for a single one the size of a single node, which is passed around and sized accordingly in the vertex shader.
You find my blog entry here. Code fragments included. And the example code of the book's authors on github.
The matrices need not have double precision ! Only the view matrix has large numbers in the translation column which are stripped off before being passed into the shader. The matrices are applied in the vertex shader after the camera position (which is double) has been deducted from the world positions (which are doubles), leaving handsome float numbers behind. So, only world positions (depending on your LOD algorithm) and the camera position need double precision.
Btw., it took me several weeks to figure it out, so don't be too frustrated if it takes some time ? Experiment with a huge subdivided icosphere/planet /whatever before applying it to your lod'ed terrain !
Edit: @TeaTreeTim has solved much of this long ago with other approaches ...