Maybe I am wrong, but I think that the motion vector might be accessible from the camera orientation sensor?
I am not sure how it operates, for example does it just return 4 orientation values? Or does it return some larger range, such as an integer/float?
Is it 2d or 3d? And how fast is that updated?
If the sensor returns a large range of values, and if it is 3D (although 2d should work to some extent as well), and if it is updated fast enough, then this data could be saved along with the picture (perhaps in a text or binary file), then have a PC program that enhances the image. Doing it on the camera might be too slow and too difficult.
Another idea is to get the data from the IS sensor. This should be much better data, but only limited to the IS cameras.
There is a Photoshop plug in (forgot the name) that can do some image reconstruction if the motion vector is known (you enter it manually). But if you know multiple motion vectors (for example, 1 vector per milisecond), and if someone builds a program to use that data, I think the image blur resulted from camera shake could be almost entirely eliminated.