How do I snap two similar geometric shapes to each other with rotation and scaling?
Flip Normal Vector

For the sake of clarity, after recaluculating normals, I colored the faces to match in blue and the triangle that we'll be use as pivot in red.



Letìs get into edit mode, pick the tris and run the Create Empty operator. Note that we can change the vertex of application with the Swap Empty Origin button.

By examining the empty arrows, we can say that our Z axis is normal to the tris surface and pointing toward the inside of the object, the X is running along the smallest edge and the Y is going where it must be.



Chamge object and repeat the process being sure to choose the right vertex. You can switch the normal vector of the empty by checking the box in the command's options or even remap the whole axis system if needed.

In this particular case we'll need te X axis to be running along the short edge and the Z axis to be pointing outside the object, in order to make the faces ...ehm..."facing" each other.



Finish by matching th empties location&amp;rotation and then eventually adjust the relative scale.