The problem is there are so many variables that while you can have a "ballpark" figure, it's impossible to be completely accurate.
You'd need a map with elevation changes for the route, weather, temperature, wind direction, average speed by time of day, tyre pressure, etc.,
Most of the sites allow you to enter some of these (e.g. temperature, average speed), and elevation & average speed would probably be feasible to implement from existing datasets, but things like weather and wind direction are pretty much guesses, and can have quite a significant impact.