While I was disappointed that Vieira took Villa off the field after he scored his second goal, this substitution was because Villa is trying to keep his legs healthy.
MLS season is a marathon, and we need our players at their best down the stretch especially into the postseason. Say with these large leads (if they can continue), we can sub out Pirlo and Villa both 15-20 minutes early. And say we have a big enough lead 5-6 times during the season. That's a minimum of 75 minutes saved during the course of the season, nearly a full game.
It's the Popovich approach. Keep your older players off the field when they don't need to be, even if it upsets the fans, so they can play when it does matter at their best.