When I'm in a team that's not following objectives I ask three times to forfeit the match. If they don't I leave. It's that simple. You shouldn't be forcing people to do what they don't want to do. It's their game. However, that stated, I very well understand your umbrage. Yes, nothing worse that being in a mission with idiots. Therefore, what MSE should do is simply put in a block feature that blocks you from playing with these people again. The more people want to just run around and not follow mission objectives, the more blocks they'll receive until eventually a wait, for a game will take so long they won't bother.
There's nothing worse than a game going down the authoritarian route. I don't like this idea of reporting players. I just leave the game instead. When you're in a team, that's not PLAYING as a team, quitting is a realistic option because the non team are screwing it up for themselves, long before I quit and leave them to their lunacy.