Mirror Modifier Issues - Asymmetry world,

I have been playing with Blender 2.8.1 for a couple of months and recently keep running into the same issue with a mirror modifier.

When I apply the modifier the mirrored object is way off-centre, like this:



I am able to solve the issue by simply joining the asset I want to mirror and another asset which already has a mirror modifier attached, however this adds the material from the latter object to the object I'm trying to mirror which is undesirable.

Any techniques to help me create a perfect mirror when I'm working with multiple assets will be much appreciated if provided.
By default the mirror modifier will choose its mirroring axes depending on the object's origin, not the world origin. 

The origin of each object is marked by a yellow dot when it is selected. As you can see, your tooth's yellow dot is a little bit to the left of it, so logically the mirror modifier creates a copy with a symmetry relative to its that.

If you want to create a mirror with a symmetry to the world origin, you have to select in the "Mirror object" field of the mirror modifier either:


An object which you know has their origin in the world origin 0, 0, 0
Create a new empty object, and keep it at the origin point
Make sure your 3D cursor is at the origin with SHIFT + C and while your object is selected, right click > Set Origin > To 3D Cursor