I actually think that a hero limit of 1 is better for the game. With hero limit 1 there's still 45,000 possible team compositions as opposed to 230,000 without limits. The problem with the game we played is that the attackers can pick a cheese strat, the defenders die, lose an objective, change to counter it and the attackers then change to counter the new defense setup (and then win). You basically get a big game of rock paper scissors.
I like the idea that single players in a game can pick heroes to counter other single players. Like if the enemy team is running a WidowMaker, one of your guys can run a genji or something to put pressure on them. These mini-counters are much better for the game than being able to change the entire team comp to counter an entire team comp.
I think that the worst thing the competitive scene can do, is start to do the TF2 option of limiting specific heros to 1, others to 2, others to 3 etc... You either limit all heroes to 1, 2, or just don't limit them at all. Keep the rules consistent, keep the rules simple. I also think that this limit needs to be hard coded into the game by Blizzard so that the competitive game and the public game are consistent. Allow unlimited heroes in Custom games but in publics and ranked games, allow only one of each hero. We would probably find better public play team compositions are formed because of this.