If you look at a flight with heavy frequencies, like SFO-LAX, you'll see that UA blocks different times for that flight at different times of day, even for the same aircraft type flying in the same direction.
The bottom line here is that UA has all the historic data on how long particular flights take at particular times, and presumably it uses that data on an ongoing basis to set block times.