Here's another way to look at it.
The Cardinals have had 6 different cleanup hitters this season.
In order of at-bats there . . .
Brad Miller (92)
Paul DeJong (35)
Matt Carpenter (31)
Tyler O'Neill (21)
Rangel Ravelo (5)
Dylan Carlson (4)
Altogether Cardinals cleanup hitters have produced an OPS of .702.
That's 12th-lowest in the National League.
Put Brad Miller there, and people wonder why the manager is ignoring his slump.
Put Paul DeJong there, and people wonder why the manager is ignoring his slump.
Put Matt Carpenter there, and people wonder why the manager is ignoring his slump.
Are you seeing a trend?
At some point it's not who hits there, it's that the Cardinals don't have a legitimate cleanup hitter.
Shildt likes his veterans. He does tend to give them the benefit of the doubt. But he's not blind to their struggles. This season is more of an example than folks seem to realize. Remember when everyone worried about Carpenter playing over Edman even if Carpenter did not perform? Edman led the team in at-bats this season (204). Carpenter ranked seventh with 140, and he would have had less if the team didn't struggle to hit across the board.