The real reason why indie developers can't win on the App Store: There's just too @%!@%@ many indie developers.
Let's look at the numbers from a different direction: Apple reports that the App Store has 1.25 million apps earning $5bn in revenue last year. But 25 companies take half of the App Store revenue, leaving only $2.5bn for everyone else. That means that if you knocked out all 25 of the biggest earners on the App Store, the other 1.25 million apps would see their average annual revenue double to. . . about $4,000 annually. Hot damn! Call home, tell the spouse to put the Hamburger Helper back in the pantry, the kids are eating at Chucky Cheese tonight!
Everyone wants to be a game developer. . . but just like every other job that everyone wants to have, it ends up being a cutthroat business. The big players - the Apples, the movie studios, the recording studios - certainly don't do anything to make it better. But even without them it'd still be wretched place to try to make a living, simply because of sheer volume of competition. There's something to be said for having a day job to survive on while you're trying to make it.
As developers we should count our blessings in that department: unlike for so many other high demand careers, chasing our dreams requires developing skills that are also highly demanded for less glamorous work. We're fortunate to be able to practically default into fantastically lucrative day jobs that still offer reasonably enjoyable work.
By which I mean boring corporate jobs. Working long hours for low pay to go chase somebody else's dream at XYZ startup is probably the wrong choice here. Get the boring 40hr/wk corporate job. You'll make enough money to finance the stuff you really want to do, and better yet you'll have enough free time to actually do the stuff you really want to do.