Why does a liquids height in a Barometer depend linearly on pressure?
In a barometer at equilibrium, the pressure of the mercury equals the pressure of the air (at the air/mercury interface).

The compressibility of mercury in principle does make it non-linear.  The density would be 3.8 parts per million higher at the air interface than at the vacuum interface.  

Certainly there are other greater sources of error: the vacuum isn't really a vacuum but contains mercury vapor, density varies with temperature, vapor pressure varies with temperature, the size of the tube varies with temperature, there are surface tension effects.  

Just like any experimental technique, you need to evaluate sources of error and report a measurement with appropriate uncertainty.