Maybe use some waterproof wire (a piece backed onto itself and then lowered vertically into the tank) and sense the capacitance between it and the tank?
Or use sonar from the bottomside along with a temperature sensor. Water conducts (and stores) heat very well so there shouldn't be very much of a temperature difference between the top and bottom of the water.
There are also infrared distance sensors available.
Or couple a speaker and microphone to the top of the tank and measure the resonant frequency of the airspace.
If a low resolution digital readout is fine, you could attach some heaters (metal cased power resistors work great) and temperature sensors (common NTCs work fine) to several levels on the outside of the tank. (Immersing them inside the tank also works, but waterproofing it requires more work.) First do a temperature readout without the heaters, then switch the heaters on for some time (say a few minutes), then take another readout. The parts of the tank that are covered by water would not change temperature very much, while the parts that are not covered would get significantly hotter. (I remember reading about a car that used a PTC to signal a light when the oil level is starting to run low.)