The closest, but much improved, alternative is a waffle chart. It mainly solves your first problem: it is much easier to estimate the difference in area at a glance. It also has the benefit of predictable amount of real estate, if you consider the available area to be 100% and partition it accordingly. It even has the advantage of not necessarily being circular - especially if you are comfortable with anamorphic cells, you can create it with any side ratio you want.
How good it solves the second and third problem is mainly a matter of what the actual data looks like. But it is still a good alternative.
The main problem is that most chart generating software tools don't support it yet. I think there was a hack in R which involved using a calender representing library and other such ugly things.
See also this question on CrossValidated. They give another example, and also offer dotplot charts as a second alternative.