@EAW Thanks for the link! Just to clarify:
Although the issue in that post is indeed also related to floating point rounding error and transforms, it’s not actually relevant to the issue in Blender. The issue in that post is due to actually storing the source-of-truth transforms in a matrix, and the resulting accumulated error in that matrix over time. One of the proposed solutions in the post is to instead store your source-of-truth transforms as separate translation/rotation/scale components. But Blender already does that, and thus isn’t susceptible to that particular issue.