Although some images would have helped, I’ll still try to answer them depending on what I understand.
Leaving for instance the XY axis open to free placement, when trying to place a coffemug model on a table top (face).
Here I place Suzanne on a quadrilateral.
The “snapping target” is dependent on solely where you put the mouse on screen. And so my mouse here must be on the plane and therefore I cannot use the right window (side view) for snapping.
Also, I set the element to be snapped as “active”, and you can also see that Suzanne’s bottom most vertex is active. (It is a lighter yellow, it’s the vertex you last selected) . So it snaps the active vertex to the quad.
Lock the transformation to the z axis and Suzanne will not move sideways on the quad.
If there was subsurf on here, Suzanne’s surface would have been above this vertex. In that case you would have had to snap the plane to some vertex on Suzanne , and so the snapping target is “vertex”.
It helps to zoom in here so you clearly see your snapping target.
Place Object1’s bounding box Minimum X on Maximum Z of Object2; while aligning on the local Y rotation.
This is where you might miss your previous software.
This will need you to manually rotate first (either the mesh or the object) and do the same as above. But I think it is still quick, only requiring a few keystrokes.
If I take the example of putting Suzanne (facing positive Z) on a cube, it will be also be tricky to ensure the ear is in the middle of the upper face of the cube.
A workaround involves quite a bit of changing the object origin and snapping to cursor, and is unfeasible if the location of the object’s origin is important. (There’s a workaround for this too though :))
Example 2: Align Object1’s PivotPoint on Z axis to Object2’s maximum; while Object1’s X minimum aligns to center of object2; and align the Y axis scale of object1.
Assuming pivotpoint=object origin, since you can set the pivot point to other things like the 3d cursor.
Again will need three steps, and has to be done in object mode. The last scaling step will also be difficult if the object origins/centers don’t share the same Y location. (Your requirement still allows any Y location)
So I guess you were right that it will be a pain if you have to do a LOT of this, but if it’s only a one time job it should still be relatively quick.
What do you model, usually, that requires repeated application of these operations?