Young captains have worked out fine for LA and Chicago. I think you're overstating the value of age. There are a lot of bad teams around the league with grizzled veterans for captains and a lot of good teams with young captains.
Why are we going to designate a captain who might not be here long term? McDonagh isn't going anywhere for a long, long time and he's the best and most valuable player on the team not named Lundqvist. He could be a perennial candidate for the Norris. McDonagh is the obvious choice for captain.
It's my opinion, but I think older players tend to have a hard time listening to a younger, less accomplished guy just because he has a C. I actually think it would be very beneficial to McDonagh to have Marty be captain. He's a great role model and gives McD about 2 years or so to develop his game even more and improve his leadership skills.
Let him get an A when MSL retires to have him earn it between Staal and Girardi. With an emphasis on the word "earn." I feel like people want to give him the C just because he's our most talented, important player. There's a team we just beat that did that. Ask them how they're feeling about that right now.
I am totally for McDonagh for Captain one day, I see the potential, but it must be earned, not given. If Richards gets bought out that leaves an A (or C slot) open. Why would McDonagh fill that role over MSL? What qualifications does he have that makes his résumé superior to St. Louis'? Who has quite frankly been the better leader, McDonagh or St. Louis? The answer is obvious.
In time McDonagh will likely be the captain. No need to rush that on him.
Edit: Forgot to address your first point, my apologies. Toews is sort of a rare exception but even he is too immature for my liking. Brown is also a pretty disgraceful captain, but nonetheless his leadership apparently works (a fair amount of LA fans still don't view Brown as the real captain however.) It usually is the exception not the norm to have young captains.