I haven’t really looked much at Maya’s mirroring tools so I don’t really know how well they work. What I would suggest though is that you script the rigging process once you’ve done it manually, this has a learning curve but will save you tons of time in the long run. You can do all the parenting, SDKs, connections etc through MEL.
I've been working on an IK leg script myself just recently, [here's an example](http://www.graphite9.com/WIP/bh_ikLegRig/bh_ikLegRig.html), this takes a joint chain and adds a no-flip knee, foot roll etc all through MEL. Part of the code here checks to see which side the leg is on and negates the control for the knee and toe twist so that poses will then mirror easily.
EDIT - out of curiosity I tried using Duplicate special here and it seemed to work ok if I enabled ‘duplicate input graph’ in the options. Before I did that I created an empty null and put everything pertaining to the leg rig under it and then duplicated that. All the SDKs and connections are working fine, so it’s just a matter of repositioning the parts now on the other side and renaming. Should be a way forward for you hopefully.
Cheers,
Brian