I think we've been here time and time again. In a legal sense, MH have some responsibility, and anyone taking legal action would pursue MH, as probably the easiest party to attrribute blame to.
But it would be both naive and irresponsible to assume that if MH in isolation adopts a much more proactive approach to risk management of the routes it flies, that the problem is fixed. At face value, I can't help but think it would be much better that rather a well resourced, well connected (in terms of intelligence) international (private or public) organisation, such as ICAO to advise airlines on such matters than rely on each airlines own assessments of intelligence.
The fact that other airlines were flying there does not excuse MH (legally), but it potentially points to a systematic problem. If it was MH only, sure fix them and it is fixed, but there were many other airlines flying over that part of Ukraine that this could have equally happened too. Also one wonders what information BA and AF received that made them avoid the area. Was it that everyone had the same information and they made a conservative decision (if so then MH can should take their fair share of the blame) - or was it that they had extra access to information from their national intelligence organisation that other countries (such as Malaysia, Singapore, Netherlands, Germany) did not have access to. Bloggers from 17 July onwards will tell you that it was obvious this was going to happen - but where were they all before July 17.
Anybody familiar with any sort of incident investigation, who really cares about fixing the system rather than just finding a scapegoat/attributing a blame, will know that one single factor does not cause an incident of this nature, and you need to look at all the different factors that contribute to it. As the saying goes - "the holes in the swiss cheese" need to line up for it to happen.