Good analysis by Jolyon. I agree with his conclusion generally.
Both his and Karun's analysis show Max steering right, squeezing Ham to the inside. Max straightens momentarily. He sees Ham alongside. Then he steers right again. Max steers into Ham.
If Ham is at fault for missing the apex, he's guilty of an imperfection in driving excellence at high speed.
But Max arguably is equally at fault for ignoring the three or four car-widths available around the outside (a manoeuvre I think of as "the Albon" or "the Alonso"). He chose to take the riskier path when safety was readily available.
I don't entirely buy the argument that Hammy wasn't where he was supposed to be (closer to one of the possible apexes - or apices for Latin buffs). If I drive into the back of a parked car, I can't claim it wasn't supposed to be there on a double-yellow line. We're supposed to observe and react. I know F1 rules are slightly different to The Highway Code, at least with regard to speed limits, but Max knew there was a car on his inside and steered right. He drove into a car that declined to obligingly get out of his way and then said, "Look what you did to me!"
So I think Max was the architect of his own accident. The stewards were inconsistent in even awarding a penalty to Ham. It was at worst a racing incident on lap 1 that merited no further action. A ten-second penalty is a smack on the wrist, so the stewards obviously didn't see it as a hanging offence.
For comedy purposes (and possibly to see Horner's head explode live on air like a melon drilled by a .50 cal BMG), they could have given Max a penalty for causing a collision. I would have paid good money to see Mr Ginger Spice trying to summon up vocabulary violent enough to cope with that.
TL/DR - Horner is a git; Max is a clot.