I guess a pressure sensor and a load sensor do the job.
A differential pressure sensor, with one input measuring the atmospheric pressure and the other one placed at the bottom of the device should measure efficiently the pressure. The pressure can give the height of the fluid as far as it's incompressible one. This height depends on the density, which is unknown (the system have to be liquid-agnostic), but if we know the weight, we may calculate the density depending to the height.
$$ P = P_0 + \rho \cdot g \cdot z $$
With \$P\$ the pressure at the bottom,
\$P_0\$ the atmospheric pressure,
\$\rho\$ the volumetric mass density of the fluid,
\$g\$ the gravity,
and \$z\$ the height
$$ \rho= \frac{w}{z \cdot \pi R^2} $$
With \$w\$ the weight,
\$R\$ the radius of your container, which is considered as a cylinder
We can now calculate \$z\$.
Edit: I didn't understand if you want to measure always the same liquid (you said you may not measure water), or if you measure different liquids. This answer is for measuring different type of liquids, but if it's not, the load sensor is not useful you can just measure the volumetric mass density of the liquid. If you measure on different conditions of temperatures, it may be considered as different type of liquids, but you can measure the temperature and apply a coefficient of thermal expansion too.
Edit2:It's the case so this answer should work