Probably going to get flamed for this, but IMO it's the airlines fault plain and simple.
They sent a commercial flight over a war zone, a war zone where the controlling rebels had long since declared a no fly zone, and where the controlling rebels are known to have SAM systems capable of downing high altitude aircraft (and wouldn't be able to distinguish between commercial/military flight's at that altitude).
You're missing out the fact that was actually justified, it was a terrible loss of life but the fault was not Russia's.
And also the fact that in the same week a US destroyer downed an Iranian airliner because they mistakenly thought it was a F-14, that it was diving when it was actually climbing and that they themselves were in international waters when in fact they were actually in Iranian waters attacking the Iranian navy.