Luckily, McCree is getting a nerf soon. He can be quite the pain to deal with if the McCree is good enough. It should also be mentioned that D.Va should be getting a buff. She's lacking in a little something.
May be better to go Lucio on attack, his ult is great for pushing and he can play a bit more independently. Mercy on attack though I'd say stick on the tank, ideally there should be an damage hero with the tank that you can damage boost as well.
That is my recommendation as well. Mercy can be difficult to use while on the offensive if the team scatter to the four winds. It's pretty annoying to be left with just me as a Mercy and a Reinhardt. I guess we're charging in? Now if the team sticks together, it is really up to your preference who you choose. I go Mercy in the beginning then switch to Lucio later on. It all depends on my ult status and how urgent I need to be back up front.
Speaking of which, if your team ever get killed in such a way to be a string of heroes from spawn to the objective, you should stop and send the message to group up.