Z-up is right. The code will center it at the lowest center point, of the bounding box. I almost posted a old script that I wrote a while ago that contained that line of code but decided against it. The code works fine for stand alone props and objects that don't need to align together. If one object has a piece that hangs…
What I do is go into Affect Pivot Only mode, then click Align, and click the same object. In it you just check Z Position, and set the Current Object to be the Pivot Point and the Target Object to be Minimum. It's a bit longer I guess, but no scripts needed.