I know that this this post is really old, but I was just working on the exact same problem, and I thought that maybe at some point in the future someone else might be facing the same issue as well.
I'm writing an algorithm for which I need to compare molecular structures, represented as sets of points in space, and I need these structures to be oriented in exactly the same way so that I can see if the coordinates for each point are the same, and with that if the structures are the same.
I tried the method with multiplying by the transpose of the eigenvector matrix of the inertia tensor. It's correct, the transpose of the matrix containing the eigenvectors orients the molecule properly when applied to it, and the same can be achieved with rotation matrices. With rotation matrices, I could align the inertia tensor that corresponds to the axis of maximum rotation symmetry with the z-axis, by rotating the molecule first around the x- axis to bring it in to the xz plane and then around the y- axis, to bring it at the same position as the z-axis of the cartesian coordinate system, and that works just fine.
But, I found that when this method is used, the resultant orientation doesn't discriminate between the relative directions in space, so the choice of the x- and y- axes is arbitrary, as well as the + and - directions on each axis. I think that maybe that's why the OP had the impression that it doesn't work.
The way that I solved this is by just going through the different choices of the eigenvector directions for the x- and y- axes as well as the + and - directions, which means that for every structure I have to do the checking many times, but for my system it was OK, because it's quite small. I think that for a small system this is a better solution, or perhaps it is possible to also specify the other two eigenvectors to correspond with either the x- or the y- axis, in which case the orientation would be absolute.
Anyway, this is a much simpler approach than any other method avialable.
But, since I am not a mathematician, I'm a chemist, I would like to ask, if my observation that when the transpose of the eigenvector matrix is applied, or when one eigenvector is fixed to be aligned with the z-matrix, the resultant orientation doesn't completely distinguish between the relative directions in space, is correct. And also, if this is correct, would aligning the other two eigenvectors with the x- and y- axes respectively fix this problem? And also, if this is correct, why is this? Is it related to some property of eigenvectors, or to some property of the inertia tensor, or of the inertia eigenvectors, or does it come from some property of matrix multiplication?
If anyone is using this method, I would recommend the diagonalization subroutines available in Lapack for Fortran, rather than Mathematica. The result is always an orthonormal matrix, and calculations are very straightforward.