Ive speculated that this is because teams play with expanded rosters after August 31st, so teams that are out of the playoff race will start young players who arent quite big-league hitters yet.
Excellent point. Also, teams which are out of the pennant race will tend to lose some fire. Everyone individually is still trying to do his best, for his own interests. But there is an adrenaline rush that helps a player overachieve when he knows that the season is on the line and his teammates are depending on him.