Got to blame both sides and not just the Palestinians for scuppering the various negotiations.
...
Which again avoids the fact that Olmert made a 100% functional offer, fully in compliance with the UN and Arab league expectations and Abbas laughed at it (actually documented) and chose not to act on it. This was the best chance of peace since the rejection of UN Partition and it is clear who stopped the chance. It is possible that Olmert being in the lame duck phase of his role may not have had sway to get the offer through but we'll never know because Abbas walked away.
As for ethnic cleansing, there are a couple factors you choose to ignore. The vast majority of Palestinians who fled did so long before any Israeli troops were at their door. They fled out of fear that was promoted by both sides (and the small amount who were forced out were from villages actively engaged in fighting). Also worth noting that in this 'ethnic cleansing' 20% of the Palestinian population chose to stay and were welcomed with full citizenship, just like they were promised.
At the same time, a million Arab Jews were chased out of their long-time homelands, by a combination of laws, mob violence, and fear. But instead of locking refugees in camps with zero rights, Israel went through huge economic hardship to integrate these Arab Jews.
Things are far more complex than you portray.