The outrage over that is mainly from Sagan being tossed, which Cav didn't do. And Sagan's "elbowing" him, which clearly never happened, along with Saga's disqualification have provided a lurid backdrop to a story that will forever be mistold because those two things got so much attention and distracted from the basic facts...
What DID happen is that Sagan came off his line when Cavendish already had an overlap and squeezed Cav into the barrier.
For that, Sagan should have been relegated for the day, nothing more.
Frame by frame analysis from overhead shows Sagan drifted right while following the wheel in front of him, fair enough. But then they straighten (just briefly), and so Cav shoots into the clear hole on the right, and Sagan then comes off his line a second time.
Frame by frame from the front, Cav's front wheel is just a couple inches from being even with Sagan's front wheel when contact is made.
Sagan eased right that second time under a tree so the overhead isn 't perfect, but that shows just how quickly he veered right that second time. He goes under the tree traveling straight, with plenty of space on his right, and comes out of the tree angled right, over against the barrier with Cav going down.
Sagan was mistreated by the race officials but he opened the door to that by riding dangerously at a point in the race where you can't just veer off your line without expecting to foul someone if not actually hurt them or you.
Love the guy, in fact i'm a terrible fanboy....but he's not perfect.