Honestly insight3fl this could probably be accomplished simply by using a rolling average of the water level. If you have rain for 2 days with 0% totals and then followed it with a third day of 100, you would have a final average of 33%, meaning a result much closer to what you’d need.
It wouldn’t be perfect but would add very little code to the firmware, and would require 0 extra calls to WU. It’s very similar to what I did with my ET fork of the project which uses a water balance. It just uses whatever yesterday was averaged with today’s calculation. Essentially weighting new data based on recent history. It will water less until enough days have passed without rain.