I would blame the Montagues and the Capulets both for more or less the same reason. Both families were too obsessed with their feud. The Capulets, specifically, are also to blame because they were forcing Juliet to marry Paris.
The Prince is at fault because he should not have banished Romeo. He should have understood the circumstances of Romeo killing Tybalt.
Mercutio is at fault for getting himself killed. Romeo did not want them to fight. Mercutio should have just backed off and not tried to fight Tybalt. Then Romeo would not have been banished.