Telling a story in a sandbox environment: Red Dead Redemption

I finished Red Dead Redemption a few days ago. Great game, fantastic ending, but it had some problems. My main issue lies with the narrative of the game. This doesn't just apply to Red Dead, I think it also goes for GTA 4 and games that take a similar approach to storytelling in a sandbox environment. Some mild Red Dead Redemption spoilers follow so it's probably best if you've completed the Mexico portion before reading this.

Who is John Marston?

 This is John Marston. He's a  little bit schizophrenic.
 This is John Marston. He's a little bit schizophrenic.
The first, and maybe most important question. We are expected to care about John Marston's plight throughout the course of the game, and thus we should care about him as well. He's a former outlaw who retired from his outlawing ways to settle down with his wife and son to be a rancher. Then he gets picked up by government agents to track down his former gang members and bring them to justice. These actions imply that Marston is done with the lifestyle of the outlaw and wants to live a relatively wholesome life. We can expect him to occasionally stray from the straight and narrow because he makes it clear that his priorities lie in getting back to his family, no matter what.  What I won't accept from this character, however, is him letting himself get jerked around time and time again by people who say they'll help him but ultimately don't. Not only that, but in the Mexico part of the game, he switches sides back and forth between the Rebels and the Mexican government, seemingly without any care for either party. Yet he does help Luisa with her problems, even though she doesn't even promise to help him. If he cares for her, why would he also still help the government? If he doesn't, why would he help her at all? There is no satisfying answer to this, it's just game filler.
There's no real imperative for Marston to do most of the things he does, especially during the Mexico portion of the game. For someone who just wants to be with his family again, he sure doesn't really seem to mind being given the runaround time after time. The entire Mexico section of the game is pure filler that does not advance the story in any meaningful way at all. Bill Williamson could've been at Fort Mercer, Rockstar could have cut out all of Mexico and literally nothing would have been left out, apart from Javier Escuella, who is just thrown in there out of the blue as more filler. The plot would have been much tighter as a result.

A sanbox environment combined with linear storytelling don't mix

So we know who John Marston is, even if he seems a little confused sometimes, and we know that a lot of missions in the game are filler and that there is no good character-driven reason for Marston to do a lot of those missions. However, Red Dead also contains a binary morality system: You gain honor for being good and helping people, and lose honor for killing innocents, lawmen or siding with bandits in random encounters. The problem is, Marston's character does not change depending on how you actually play the game. Sometimes he'll be a seemingly ruthless outlaw, like when he switches sides in Mexico, and sometimes he's just a good guy, like when he's helping Luisa. It doesn't make sense. It seems like Rockstar just threw a little bit of Honor and Dishonor into his character to cater to both styles of players, without really going whole-hog either way. A better scenario would've been that John Marston the Dishonorable would be able to play both sides of the Mexican civil war against each other to get what he wants, whereas Honorable John Marston helps Luisa and the rebels because it's more or less the 'right' thing to do.
If the way you play the game is not reflected at all in the character, why include a morality system in the first place? Leaving aside the fact that binary morality systems are pretty dumb and black and white, if it's not reflected in the story or the gameplay in a meaningful way, then what is the point?
I appreciate the effort that Rockstar made to incorporate the theme of nature versus nurture later on in the game, but it's too little, too late, and with very few actual choices to make, it's not wholly realized. Creating a fun sandbox game that lets you do whatever you want and telling a good but linear story with believable characters are two goals that are simply at odds with each other.
 Imagine this, but with more  cowboys and less space.
 Imagine this, but with more cowboys and less space.
I propose the following: Red Dead and GTA 4's structure combined with the character development of, say Mass Effect, or other Bioware games. The story could alter in relatively small but meaningful ways based on your choices, and certain characters will like you or not.  This seems like the direction these kinds of games need to head in if they want to have a really good story mixed with the freedom of an openworld game.
Thanks for reading and feel free to agree or disagree in the comments!