The ideal solution is this:
McCree - Hangs on the left side, this gives him a view of the entire fight for his ults. Gets ults quick so should be using it when possible.
Hanzo - Hangs out in the middle or the right. There is a perch above the door if you want to use that, also gives a view of the entire map. Vulnerable to grenadiers, though. Great for clearing middle lane with his ult.
Ana - Hangs out in the middle, or the right. This gives a view of the fight, can zoom in to snipe-heal McCree, or chuck potions to heal. Can help weaken enemies for cleanup. Not a DPS character at all. SUPPORT
Soldier - MIDDLE. You have a heal, WHY would you separate yourself from everyone. Especially during boss rounds. Also his ult is PERFECT for hitting everything to help with cleanup / wheels. Gets ult quick, spam that shit.
Reaper - Easy boss, Ana can ult whoever (ideally Soldier or McCree).
Roadhog - You need to teamshot the fuck out of this one - Ana should ult McCree or Soldier, priority McCree. Use potion to nullify the heal. Sleep him if he happens to ult, or just to buy you some breathing room.
Junkenstein - Ana should ult Hanzo, with McCree as second choice. Worst boss period due to the constant grenade volleys.
Mercy - Ana should ult McCree who should try to wait until the last second to fire for maximum damage. Focus Mercy. Roadhog will tear shit up, but Ana can sleep him to buy you some time (or prevent him from hooking anyone) to try and get Junkenstein.
Of course, this isnt an issue with a team who know how to play, which randoms will never happen. Even with a team, shit can go south quick as fuck, rofl.