I don't blame RG3 at all. He's a leader, and he's supposed to project the desire to do everything he can for the team. Shanahan's job was to remove him from playing regardless, protecting his status as leader and captain while also protecting his health. He failed to do that, and these are the horrible consequences of it.
Who cares if Shanahan would've been criticized for pulling him for Cousins? He's been criticized anyway, and at least RG3's knee would be healthier than it is now and we had a better chance of winning with Kirk under center at that point.