Let me preface my remarks by saying I do airline scheduling for a living (in particular, the part of it involving the length of a flight). If there's one thing I hate, it's when people accuse of padding schedules when a schedule is made longer. Schedules, for an airline and I'm sure, for Metra, in large part take into account the history seen in recent years. When flights start actually taking longer (and there are a lot of factors for airlines that don't really apply to Metra such as wind and airport congestion (yes, Metra has to be concerned about congestion but not in the way an airline does as airlines share airports with other airlines not under their control)), schedules are lengthened to reflect that reality. We have a target percentage of flights that are completed in or under schedule and adjust schedules periodically to reflect reality. And we also know what the unimpeded (no congestion) time should be.
It should be no different for Metra. Even if you assume running time when the train is in motion should be the same from day to day, there are other factors that can change, both slowly over time and from day to day, that effect station dwell time. If passengers boarding or deboarding change, so will staton dwell time. Throw in an occasional wheelchair and too will affect station dwell time. And don't forget the more passengers, the heavier the train and the slower it is to accelerate. Of course, eventually loads grow sufficiently to add another car which will decrease passengers boarding/deboarding per car and reduce station dwell time but at the expense of making each speed restriction 85 feet longer (longer trains need more time to get over the road) and making the train even heavier.
But Metra has one more problem I don't have to worry about. My scheduling is single-segment. Metra (and almost all trains) have to be scheduled for multiple segments. Too much time in the first part of the trip to assure on-time arrival at intermediate stations means some days you're waiting for time at those intermediate stations. Too little up front and lots of extra time in the final segment means late at all the intermediate stations while still on-time at the end (and if there's almost no one on the train at the last station, very few get to see the on-time arrival). Since I get off at Roselle, I don't really care if the train arrives Big Timber on-time; I only care about what time it gets to Roselle (it could die at Schaumburg for all I care

). Finding the balance in multi-leg schedules that get you reliable arrival performance at the intermediate stations without having to wait for time is not easy.
Consider the effect of wheelchairs. Boarding or deboarding a wheelchair adds about a minute to a station stop. But add that minute to every segment and you're waiting for time at most stations most days. Ignore it and a wheelchair puts you behind schedule the rest of the way.
So where some want to say schedules are padded, I say they just reflect the reality of the actual operation. Sure, a train could get over the road in less time but it would have to be empty to do it. And an empty train isn't really doing anybody any good.