The same way I learned everything else in A:M: Start simple. don’t try to get a fully functional animation rig on day 1, just like your first model shouldn’t be a photoreal human. First you figure out what each and every constraint and limit is, how it works alone and how it works in relation to similar constraints. Then you take an isolated section of a character, say a leg, you analyze it and decide what you will require in the way of controls, then you set up constraints based on your knowledge of them to achieve your goals. Then you take that portion of the rig for a test drive and decide if it meets your needs, if so move on to the next part of the character, if not either re-work the rig or scrap it and start again until it does what you need.
Once you have a rig for any portion of a character working the way you like it you can make it so that you can apply that rig to any character with a similar bone structure without ever setting a single constraint again. The secret here is actions.
Say I have a leg rig I love (and I do, been using it since v7,) I rig that leg rig in an action file then from the Action menu I choose the create pose function and now the character has an on/off pose that holds all the constraints for my legs. Now if I save that action out as an independent .act file (leg_rig.act) I can simply load it into any project where characters need constraints, edit the action with any character, create a pose and bam rigging is done. done and re-usable.
If you want to get way fancy, you can rig an basic biped skeleton with no mesh in the model window and then rigging simply becomes a matter of saving that model out and importing it into a new model, you scale your bones to fit and assign the geometry and that’s all there is to it.
-David