Warning: unless your tank contains sterile, deionised water, your capacitive sensor WILL get covered with scale, biofilm, and in extreme cases, fish. This will affect the capacitance for a given water level. This may or may not be significant, but you should be aware of the problem! Of your two solutions, I prefer the astable multivibrator approach, as it allows averaging over many cycles to reduce noise and improve resolution.
There are many approaches to temperature compensation, but since you are using an MCU, probably the simplest approach is to use a thermistor or IC sensor to measure the tank temperature, and apply compensation numerically (having first measured the temperature sensitivity of your sensor).
A friend of mine tried the capacitive sensor approach, using ribbon cable as the sensor (alternate cores connected together as the two 'plates') but was defeated by biofilm - this was a rainwater tank, periodically 'sterilised' by adding (chlorinated) mains water. He switched over to using the 'eTape' sensor from Milone Technologies
http://milonetech.com/ with mixed success, mainly because you can't get the required 1" diameter plastic piping in the UK. At his suggestion, Milone now supply a fully packaged version of the eTape which should be OK. These resistive sensors include a temperature-compensation element, and are very easy to interface (one opamp and an ADC).
Another approach is to mount the tank on a weight sensor (load cell) and track the change in weight.