This is my big problem with it too. The cost of maintaining the app store and the search is the same no matter what the app is. It should be a fixed fee.
On the other hand the argument is that all the $0 apps are being subsidized by the paid apps, so they went percentage based so that the cheap apps didn't have a huge fee. It would mean the cheapest paid apps in the app store would be a lot more to absorb the fixed cost, or if they shared it evenly, then there would be no free apps.