I fix this in a post script. (Actually, depending on the character, I only change my hands. Sometimes I leave the feet in world orientation.)
This is an extract from the actual script I run, so do test it yourself. But this snippet seems to work on the biped template.
“handRef” and “footRef” should be nodes that match the orientation you want in your rig. Make sure to choose something that makes sense for those 2 lines.
import pymel.core as pm
from mgear.core import attribute, transform
from mgear import rigbits
for side in "LR":
# Orient the IK hands
handRef = pm.PyNode('arm_{}0_fk2_ctl'.format(side))
ikCns = pm.PyNode('arm_{}0_ikcns_ctl'.format(side))
ikCtrl = pm.PyNode('arm_{}0_ik_ctl'.format(side))
handChildren = ikCtrl.getChildren(type='transform')
pm.parent(handChildren, None)
transform.matchWorldTransform(handRef, ikCns)
transform.matchWorldTransform(handRef, ikCtrl)
# Add an offset to zero out the controls.
rigbits.addNPO(ikCns)
pm.parent(handChildren, ikCtrl)
# Orient the IK feet.
footRef = pm.PyNode('foot_{}0_roll_ctl'.format(side))
ikCns = pm.PyNode('leg_{}0_ikcns_ctl'.format(side))
ikCtrl = pm.PyNode('leg_{}0_ik_ctl'.format(side))
footChildren = ikCtrl.getChildren(type='transform')
pm.parent(footChildren, None)
transform.matchWorldTransform(footRef, ikCns)
transform.matchWorldTransform(footRef, ikCtrl)
# Add an offset to zero out the controls.
rigbits.addNPO(ikCns)
pm.parent(footChildren, ikCtrl)