How about this for a consideration.
If you consider temporary inclinations, could you not assume that any and resulting error due to change in attitude would be canceled by a return to the original attitude. For example, when a car accelerates, it tends to tilt back, which would incorrectly imply a greater motion acceleration. As it levels off, this would incorrectly imply less acceleration, so the results would tend to cancel.
Second:
I see a solution by taking a baseline reading of the vectors before a test run. In the basic case, set the Z in a position to read Z=1, and X=Y=0. Tilt can be compensated by adding or subtracting gravity component vectors from X based on a change in Z which you'd know is due to tilt.
I think this can also be done with any sensor position as long as a baseline data set is taken for all values. There will always be a gravity value of 1 with known baseline component vectors, which can be subtracted to get G. To eliminate tilt, you'd have to create a baseline plane, and any resulting Z' component of the calculated vector would be due to tilt. This would require more calculations. I was just looking at this by doing some graphical vector analysis, so I'm not 100% sure at this point.
Of course as was said before, the drift factors due to errors would be amplified greater with added calculations and transformations due to fixed data precision and error %.
I'm thinking of creating a device to measure 0-60 times in a car as well as HP values based on accelerometers alone, but first need to model this in software, and get the math right.