Thanks for the tips; although I think I’m also about to get the problem solved
I’m already building the skeleton using a set of locators to define joint positions. I might change that to a stand-in skeleton in the end because it should be easier to visualize and work with.
Now the joint orienting is done using an aim constraint (AFAIK this idea also belongs to Jason here, according to the guys I use as online help here :). I take the joint I want to orient, unparent it’s children, define an upvector object (locator), constrain, then copy rotation values to joint orientation values. I then zero rotations and re-parent the children. For a chain, you have to start this at the end joint otherwise it’d corrupt the local rotational axes (at least for me here).
Your approach also sounds interesting and maybe even easier to implement - however I’m already finished with my procedure and all that’s left is to include it in the skeleton building script