Perfectly snaping and aligning two objects by face center using the least possible steps?
Here's one way (to get the ball rolling) :).

Poke faces on the target face (to get a center)
Enable Vertex snapping &gt; Median and Allow rotation (to snap origin point)
Flip the mesh upside down (since Blender keeps the Z orientation)