Would making all space using floating points work around the problem? I've heard the idea mentioned once on a Discord chat -- I have no idea if it'd work.
Not exactly. This issue exists precisely because
we are using floating point variables to store position and orientation data. There are only two real fixes available here:
1. Use double-precision floating point math. This does not fix the underlying issue as much as it papers over it; this also has unfortunate sideeffects as many data structures in the engine now take up literally twice the space. This has performance implications as well: We gain a lot of speed using SSE instructions on some of our math operations, which require that they be done using single-precision floats. Plus, there is rendering performance to consider: While modern GPUs are incredibly fast even in double-precision workloads, they are still much slower than they are when doing single-precision calculations.
2. Always treat the player or camera as the origin point of the global coordinate system. This is a technique that is used by modern streaming game engines like Unreal; since every important action will happen within the zone of highest precision, float inaccuracy will never be an issue. This would require extensive redesign of the physics system to make work in FSO.
TL;DR: Yes, there are ways around these issues. However, implementing them requires a large amount of effort, and so it is unlikely to ever get done.