You can't have F1 without team orders, and you can't have it with them. There are problems with both scenarios. The only way to stop them would be for each team to only have one driver, but the amount they'd save in some running costs would be more than cancelled out by lower visibility on track and therefore probably sponsorship. It might lower the entry cost to F1 (to both new teams & new sponsors), but it's not the direction F1 wants to go and in any case wouldn't benefit the current teams so they'd all be strongly against it.
Having said all that, Vettel was clearly in the wrong. There isn't an obvious remedy though. A fine is irrelevant to him, he didn't break an F1 rule so can't be docked points, and if Red Bull were to make him miss a race, they'd be cutting off their nose to spite their face.
This sort of thing will always happen occasionally when a team chooses not to have a clear #1 and #2 driver. We've seen it in previous seasons with Red Bull, McLaren and others. Ferrari like to have a clear 1 & 2 (Schumy in his day, for example, and now Alonso) and I suspect that internally Mercedes have made a similar choice with Hamilton & Rosberg given what happened there and Nico backing down. The problem with clear 1/2 drivers is that you know they'll always try switch places towards the end of the race if they're out of order, which spoils the fun. But it prevents the problem of pretending both drivers are treated equally, when clearly they aren't. Webber knows, deep down, that he's Red Bull's number 2 driver despite any team prostestations to the contrary and in fact, it's the team's official pretense to the contrary that really created the bad feelings.
Vettel still shouldn't have done what he did, but ruthlessness is probably part of the world champion job description. The bad feelings generated probably weren't worth the extra points though, in the long term, esp. as he's likely to need Webber's help at some point during the season and I doubt he'll get any now.