Besides Iceland, two other countries stand up: Japan an Switzerland. In the former, not even police or yakuza bear fire arms, things are solved mainly on reputation. In the latter, every citizen has to know how to operate a firearm, on account of not having an army.
So it's not the availability or lack of thereof of guns. It's the "social tension" (what exists between people) that binds people together. A society of strangers and cvasi-anonymous people leads to higher violence. When people are separated, they don't prevent each other from falling into a life of crime.
A society where whole swaths of people are in poverty believing they have no chance to succeed leads to the worst cases of violence. Even the slight idea that there is a path from poverty to success, even if it is an illusion, keeps the violence down.
But when people are convinced that the system is stacked against them no matter what they do, then they dissociate from the large society, form a new attitude - that they don't need to play by the rules, they don't need to have compassion, because the rich have all the power and resources anyway and they actively block the poor from raising up. That's basically whet the shit hits the fan.
Remember the French arab revolt from a few years back, in Paris? Same thing. Arabs emigrated in France after WWII for work. They remained in France and had children. Now french people don't need them any more, but the kids are born in France, they have no idea of the countries their parents came from. They don't want to leave, but they are not welcome in France either. They are without a place of their own. Thus, feeling of racial discrimination and violent protest.