This really has to do with the data that your local weather stations are reporting. The weather algorithm queries Wunderground API to obtain weather data. If the data from Wunderground server changes rapidly, the calculated watering percentage will consequently change.
One work-around that seems to improve the reliability is to pick a specific weather station. To do so, go to Edit Options -> Location, open the map and select a specific blue dot (i.e. a specific weather stations) nearby you. Or you can directly input a Wunderground weather station name (in the form of PWS:xxxxxx). This way the weather data only comes from one particular stations as opposed to a combination of multiple stations, which could be a source of problem if some stations go wrong.