Align complex, non-matching meshes as closely as possible in size, position and rotation I have two complex meshes that I want to align with each other as closely as possible. Not in terms of touching each other (as a lot of questions seems to cover) but actually overlapping with each other.
As an example, I want to turn this:

into this:

through a combination of moving, rotating and scaling.
Clearly I can get a rough result by hand (as above), but is there an automated method I could use that does not rely on my own judgement?
What I have tried/considered already:

The align tool will do position but not rotation or scaling, and in fact it doesn't even provide the best position since it is based only on the object origins.
The snap tool will align particular faces but doesn't take the overall shape into account.
Perhaps there is a modifier that will do it? I don't know much about the various object modifiers.
EDIT: In contrast to the simple example given here with Suzanne, my objects don't necessarily come with the same orientation relative to their local origin, so e.g. copying rotation information will not work in most cases.

I also understand that there isn't necessarily one single metric that will tell me the &quot;best&quot; alignment between two objects, as there will be different ways to measure this property. I don't mind that too much - the important thing is having a consistent and automated method.
Very Easy. You can use object constraints. The constraints which will help you are: Copy Location, Copy Rotation, and Copy Scale. Then just add the other object as the target in the constraint.