All we have to do is remember that this isn't a gun issue. It's a crazy issue. Canada has just as many guns per household as we do. Europe doesn't. Neither have high rates of firearm deaths. What they have in common is that they have low levels of income inequality. If we fail to address this serious problem of income inequality, then these events will continue.
Raise the minimum wage. Give workers federally protected vacation time. Allow workers to form or join a union. End free trade and protect domestic jobs. Raise taxes on the wealthy, on investment, and on corporations. Heavily regulate major market sectors, particularly the financial sector. Break up semi-monopolies.
We do this, and these shootings will happen far less frequently.