I think you could look at how the Infinity Engine (now I-Novae Engine) solved this issue. (Unfortunately I can not find the blog post anymore.)
First the engine maintains multiple levels of resolution, depending object importance. For the outermost scale it uses 128 bit floating points, which is enough to model the solar system reliably at meter scale. (I did not do the math...)
The underlying problem is, that anything the scale of planets, even 32 bit floats start to quickly loose resolution. But on the other hand using anything other than 32 bit floats for rendering is unbearably slow. (At least it was at time.) Since they wanted "infinite" view distance, this posed a real problem.
They approached the problem with three solutions:
First the engine create a separate scene for rendering that is centered around the camera. This ensures that the little objects where precision matters are correctly placed. (Little details are procedurally filled in.)
Really large and far away objects, like space stations, planets or an entire nebula are rendered separately. In many cases they are scaled so that they properly fit into the range of the 32 bit floats. This is then put into a the final scene using billboarding.
Finally everything that is farther away than a certain threshold is submitted for rendering using a logarithmic scale. This is primarily done, to preserve z-buffer resolution for near objects while still being able to render the space station in front the gas giant.