This is my first tool, made it with Python. It's available for free at Creative Crash (which is now HighEnd3D it seems ? that's new) and would like to ask for some feedback on it :)

What you have to do:
Group all joints (with 'joints' in the name of the group) and all ctrls in another (with "ctrls" in the name).
[eg. "gp_myChar_joints" and "gp_myChar_ctrls"]
Select the two groups and choose what you want to do.

What it does for you:
# Orienting controllers to joints:
If you want a controller to orient the same way as a joint just make sure their
core name (without sufixes and prefixes) is exactly the same.
[eg. "ctrl_IndexF1_L" and "jnt_IndexF1_L" will orient the controller, "jnt_indexf1_L" won't.]
Remember that now if you want to parent the controller you need to parent it's group,
not the controller itself.

# Mirroring controls:
The script will look for objects with the right and left suffixes (changeable in settings) and
check if there's already a mirrored part, if there is not then it creates it and names it accordingly.

# Coloring controls:
Automatic coloring for the controls depending on which side are they on (right, left or none).