Low Poly Modeling

This is the stage where you will be creating the model that will be seen and used in a game engine. Keep this mesh as optimized as possible but also remember that in order for a next gen character to still look next gen, it needs to have a silhouette that compliments the normal map. To make sure that this is the case, Import the pieces that you have exported from ZBrush. If you cleared their pivot points, all of the pieces should pop into place when imported. Depending on how clean or complicated of a model you created you may need to fully rebuild or partially rebuild a low polygon model around these imported pieces but usually, I find, you can get decent results by just removing edge loops and tweaking the mesh topology to work properly for you.

It is a bit of a tedious task, but it should go by rather quickly. Just remove as many edges as you can to still maintain the basic shape you wanted and still fall under the technical boundries. Keep in mind that this mesh will be used in game so a lot of the lessons learned from previous gen characters still apply. Even though your medium resolution mesh would have had evenly distributed polygons throughout the entire model (to make sculpting easier) this low poly mesh really only needs geometry to define it's silhouette and for proper deformation. Even if your normal map is 4096 x 4096, it will still look awful on a model that doesn't have a shape to support it and only has one edge loop at the elbows :P
After optimizing my medium resolution mesh, I have created this low poly model weighing in at 5974-

Unwrapping

Well, there's no debate that a lot of people hate this stage. The principles for unwrapping a mesh have been retold over and over again, I don't think it's overly neccessary to go over "How to Unwrap a Character" in this tutorial. Basically, put a checker pattern texture on your model and unwrap it so that these checkers appear as squares on your model and are all roughly the same shape throughout the model.

Depending on what engine your using, mirroring UV's may be out of the question. I usually always unwrap my characters so that none of the parts are mirroring. For some things I will have overlapping geometry. Something to keep in mind if you are going to used mirrored UVs or overlapping UVs is that, when generating normal maps, both sides of the model will be calculated and your normal map will most likely explode. A way around this is to use the half of your model that is not mirrored (or one instance of the piece of your model that is overlapped) to generate normal maps with. Again, with the engines that I have worked with, mirrored UVs seem to cause problems so I avoid it. Besides, who doesn't love asymmetry?

Unwrap your model in a layout that works best for you. Some people like to have the unwrap laid out in the same way that it would be in 3d space, I try to follow this idea but tend to sacrifice it in favor more more UV space devoted to my model. Try to lay out your model in a way that makes sense and occupies as much UV space as possible. Keep in mind to keep theUV space even throughout the whole model, by this I mean that a fingernail shouldn't get the same amount of space as an entire face.

These are the seperate UV maps that I created. I eventually split the torso sot hat it would share a map with the head and the legs would have it's own seperate sheet. In the end this seemed to work out well for me and the only real reason I chose this choice over 1 huge map is for organization.