Wow, thank you guys for cool suggestions.
Exporting and reimporting skin weights is something I tried when looking for a solution to this problem, but I did this with Maya’s built-in exporter to image files. So when I imported them to skin cluster (after fixing the aim axes of those two joints), weights in some areas broke. And yeah, I’ve double checked for overlapping UVs and inverted shells, but didn’t find any. Even tried weight resolutions up to 8K without positive result. I’ve never had to use export/import weights before and thus was very surprised with the algorithm Autodesk chose to handle it. If you ask me, writing weights to image files will never be as foolproof as writing numerical values for each vertex->joint relation to a text file. I’d be more than eager to use Comet Save Weights, but unfortunately it doesn’t allow for batch export of multiple skinClusters and my character comprises of 86 poly objects. I’d have to manually export and then import each part separately and this would be a pain in the bacon. Still, if I had only one or a couple of parts, I’d most certainly go for it.
Thanks for the MEL approach, @Lomax. I tried it and it works. Although I already had my joints corrected with a completely different, method. :) I'll describe it, as someone perhaps might find it useful. It also includes splitting joints on a skinned mesh to make ground for stretchy arms, plus mirroring and attaching them to skin.
[b]
CORRECTION OF AIM AXES[/b]
So, basially I entered the [i]Move Skinned Joints[/i] (MSJ) mode (with shoulder and elbow joints selected) and oriented them correctly with built-in [i]Orient Joint[/i].
Then, without leaving MSJ, I've numerically ([http://forums.cgsociety.org/showthread.php?f=88&t=1004303](http://forums.cgsociety.org/showthread.php?f=88&t=1004303)) rotated the rotation axes of both joints along their aim. If I were to rotate them with rotate tool, Maya would exit MSJ mode.
[b]SPLITTING SKINNED JOINTS[/b]
Next, using the [i]Joint Splitter[/i] script ([i]beJointSplit[/i]), I divided the shoulder-elbow and elbow-wrist bones into four parts, by adding three new joints in-between. After that, it was safe to leave the [i]Move Skinned Joints[/i] mode.
[b]MIRRORING SPLITTED JOINTS TO THE OTHER SIDE[/b]
The next step was to delete the opposite (right) side of a [i]clavicle->finger-tips[/i] joint chain. But before that, one thing had to be done.
Every [i]skinCluster[/i] influenced by those joints, that were about to be removed, had to have an influence added that would preserve poly parts' connection with their [i]skinClusters[/i]. If I deleted the right side joints without doing that, my parts would simply drop out of the skinned rig. It didn't really matter which joint I chose, so I simply picked the nearest, one of the central spine joints (let's call it the "[i]Binder[/i]"). Then held weights of all influence joints in my skeleton (I found [i]Skinny[/i] script, available at [i]CreativeCrash[/i], to be a real help here) and began adding "[i]Binder's"[/i] influence to every part affected by the chain that was about to be deleted.
After it was done, I released all weights (that’s important) and deleted the right clavicle->finger tips chain. Then mirrored the left one and, using John Homer’s cool script (http://forums.cgsociety.org/showpost.php?p=2928653&postcount=5), joined its hierarchy with every surface the deleted chain was bound with.
The last two steps were mirroring the weights of each object to another and removing unnecessary influences generated in the process of rebinding with [i]Homer’s script /i.
That’s it. That did the trick.