The Israelis have been entirely too kind to Hamas and it has led to nothing more than an unnecessary standoff where people like you can claim "collective punishment," when it really is just a form of limited war.
While I am all for peace, Hamas is not and therefore with continuing belligerency there is a casus belli and Israel would be fully justified in attacking Hamas with all the resources necessary to destroy them.
That they have not is truly amazing, for no State seeking a peaceful existence is obligated to tolerate the lawlessness and attacks which come from such a neighbor. And especially as Israel left Gaza to allow a chance for peaceful co-existence.
War is not limited to actions between militaries. As in the war against Germany that all know so well, the population also engages, and, specifically to this case, it was the population of Gaza that empowered the leadership of Hamas and they are not innocent parties to whatever the Hamas leadership does in their name.
The light touch of the current blockade can be made much heavier, but a direct invasion to remove Hamas from power is the only reasonable course for the Israelis.
All else is prevarication.
As Hamas since its founding has been waging war against Israel, even as Israel left Gaza to allow for a Palestinian governed State, you can argue and do that Hamas has a right to continue to wage war against an Israeli State that opposes Hamas' "freedom" to kill Jews and denies them chocolate and coriander.
But, such a "right," recognized only by other fanatical Islamists and the libtards as we find at ATP&N, is entirely subject to how long Israel is willing to tolerate it.
As the more powerful State, and we all know that in war might makes right, Israel should recognize there is going to be no compromise and act to ensure the safety and security of its population. If the Israeli government does not do so then they must be replaced until one defends the nation from such genocidal intent or bows in a defeat easily won.
Guess which one is the more likely outcome?