Or maybe it's the program design
One thing I learned long ago as a programmer working with realtime data, and recovery of data, is that if I can arrive at a correct answer, I should be able to analyze how I did it and write my software in such a way as to do the same thing. In a sense, it's like fudging, but in truth you are simply replicating a human's perfectly acceptable methods of performing certain tasks.
What I find really annoying about the forecasts is that they publish longer and longer ranges, when there's no history of accuracy with short terms. I noticed the other day that Accuweather is now providing a 25 day forecast for temperature and precipitation. Of course, they can create models to do this, but if the models aren't even accurate for 5 days, why would they dare to make public their 25 day predictions?
The problem with weather prediction may be that the models take into account too many variables, or perhaps the models don't weight the variables properly. If that is the case, and if people are able to improve on the computer predictions, then that method should be applied to the software.