There are 3 options to reduce ghosting working on different methods.
Basics of motion physics
When the machine changes movement direction, it does so with a very short time difference delay between the head and the frame, inducing vibration. Let's assume the head makes just movements back and force around a point $x_0$ in the mid of the bed with an amplitude of 1. So the positional curve of the print head is $x_h=x_0+sin(\omega t)$. The second derivate of this is the acceleration $\frac {d^2} {dt^2}{x_h}=-\omega^2 sin(\omega t)$. The frame though lacks behind, it has a phase shift to this. It's movement is $x_f=x_0+sin(\omega t +\tau)$, so its acceleration is $\frac {d^2} {dt^2}{x_f}=-\omega^2 sin(\omega t +\tau)$. The factor $\tau$ is determined how the printhead is mounted (friction), the weight of the frame (it's inertia) and how stiff it is. It might change depending on the height due to the construction of the frame (changing stiffness).
We'll assume a 1-dimensional printer as it is easier to model, but in praxis, we'd have all three axis to look at to model the printer in its entirety.
Method one: less friction
One way to lessen the factor $\tau$ is to reduce the ability to transfer the motion energy between the print head and the frame. This means to reduce friction between the frame and the printhead. So better bearings are one way to do this.
Method two: lighter head/heavier frame
Another factor is the inertia differential. If the head has less kinetic energy and/or the frame higher inertia, this reduces the ghosting as with less energy available, the phase shift $\tau$ gets reduced. This is where bolting down the printer acts to some degree: the mass of the printer becomes the mas of the printer plus the part it is bolted to.
Here is where a super lightweight head on lightweight carbon fiber tube rails with Bowden setup (Hypercube design) shines: by having a super low mass, the energy transfer is hindered.
Method three: Stiffening the frame
The frame has a certain frequency it wants to swing at. To shift this, one can add stiffening rods or different mounting, which also increases the weight. This shifts $\tau$ down some.
Method four: Tuning $\tau$
Just adding mass to the printer and from the printhead or stiffening the machine has its limits. There is however a way to isolate the machine from other systems: put it on spring dampeners. As long as these dampeners are not in resonance to the frame's resonance, the machine itself can be tuned in itself. At this point comes in what you noticed when you put the machine on rubber mats: if the machine has a $sin(\tau)\to 0$, then the factor $\tau$ suddenly gets only little effect on the calculation. By the way, the symmetry makes it easy for us, creating boundries: $\tau \in \{0,2\pi\}$
Best Practice?
It is often hard to find the best way through calculations alone. Even Engineers use trial and error to look for where to add mass (using for exampele clay and weights) and look at complex measurements how much mass they need to reduce where to change the ring of the machine so the multiple factors in $\tau$ cancel each other out or get the resonance frequency where they want it to be.
For home use, it is often the best to fix it as easy as possible.