For instance a Sunday train may only need four cars in the morning..... but if there is a Jays game in the afternoon it will need it later in the day. Possibly again in the evening for some other event. Cutting cars in and out or swapping consists is labour intensive, and it makes no sense to incur those costs.
Schedules can't be adjusted for faster short trains because they have to be set for the limiting case, which is the 12 car train that may be deployed at times. And given that each route uses a template hourly schedule , it makes no sense to speed up some runs as those would break the pattern.
I have to say, GO is actually running pretty full these days. I rode a midday 6-pack run to Aurora this week that was jam packed. Those longer trains are not that empty so often to create concerns about fuel waste.... it's a nice problem to have.
For this reason I think that as GO moves towards shorter, more frequent trains, they should be increasing their standards for traction vs train length.
Currently based on observations they seem to have the following minimum power guidelines:
6-car: 3000 hp (e.g. 1x F59)
10-car: 4000 hp (e.g. 1x MP40 or 2x F59)
12-car: 5400 hp (e.g. 1x MP54, though they do sometimes run 1x MP40)
To enable scheduled travel times to be reduced, they could increase the minimum power to something like this:
4-car: 3000 hp (e.g. 1x F59)
6-car: 4000 hp (e.g. 1x MP40)
8-car: 5400 hp (e.x. 1x MP54, 2x F59)
10-car: 6000 hp (2x any loco)
12-car: 7000 hp (e.g. 2x MP40)
It would just mean that on those days where you need to run 12-car trains on a 6-car schedule due to a special event, you need to put 2 locomotives on the train, to make sure it can keep up with the schedule.
There could be some exceptions from peak-only commuter express trains, with those trains having a lower power-to-weight ratio and the schedule accounting for that. Acceleration is less critical for those trains since they make fewer stops.