Frokel, The problem you're refering to for the most part is unsolvable. I've spoken with AW about it, and they thought they might have a solution for it in 4, but it dosen't look like they've touched the subject. The root of the problem stems from Maya's transformation matrix. All transformation is handeled in order, translate first, then rotate, then scale. This means an objects rotation won't change it's translation vector. WHICH, is what you (and many others) want to have happen. If rotation was handeled before translation, the translation wouldn't really be sored as XYZ, rather it would be forward/backward, up/down, left/right, since it's "forward" is always determined by the rotation. But that's not how things are done. In Maya, since an objects translation is relative to it's parent, it would seem logical that if you rotated it's parent, you could then steer the child around... but it only works once of course, because the child translate away from the parents pivot point. SO, one would deduce, if you could make the parents pivot point constrain to the childs location, then you could steer the child around at will using the parent. This however causes some interesting double-transformations (I've tried it) due to the fact you're constantly changing the location of the parents rotation and translation point. The only theoratical solution I've come up with would be if there were multiple "inherits transforms" options for a transform. If you could say, turn off translate and scale, but leave rotate, then the child would only inherit it's parents rotation, thus changing it's rotation at it's current position. BUT, Maya dosen't supply you with that ability, so you're kind of stuck.
The only practicle hack I've come up with works, but it's far from elegant. Basically, you group the top tansform to itself every time you want to make the object rotate. For each turn made, position the new nodes pivot point at the center of the turn, and then keyframe its rotation on the appropriate frames. If another turn comes up, group the current top node agin, re-position it's new pivot, and keyframe the new nodes rotation. etc, etc. This can give some fine results, but can seem kind of bulky.
The other option that fakes the reordering of the transformation matrix is the motion path. By having a node follow a motion path, having a transform grouped under it, allows that transform to rotate relative to the path. In this way, the rotations are always relative to the direction of travel, which is defined by the path.
I hope some of this sheds some light.