There’s a few tools that work like this from indesign. The built in 3dsmax align tools and one from soulburn do most of these functions.
Spacing is one of those things I intuitively do first as an array/max spacing or through forestpro or something. I did see a script on spacing already placed objects here though. There is also this script that can align min/max for books or whatever. You could also just set the pivots to the base of all objects at once and drop to floor or etc. This second one could work well with the built in tools by aligning all objects say to the left, then use the spacing tool to move them x amount each, or use local move and type in how far you need them to move. I havent seen one that takes into consideration the bounding of each object and distributes the spacing based on that - which is what I think you are looking for since you may have a bunch of books with different widths and trying to avoid the overlap yeah?