Excessive resource usage is already pretty easy to avoid - iOS will limit resource usage when an app is in the background, and show you which apps are using a lot of battery power so you can uninstall them. I would imagine Apple could expand this more by showing an unobtrustive notification somewhere with a message like "____ is reducing your battery life, would you like to stop it?"
Regarding private API's, if Apple's position is that third-party apps are not allowed to use them, they should just stop exposing these APIs to other apps completely.
Solving privacy issues is tricker, at least in the short term, although I think this should eventually be handled by government regulation. Assuming we can get fair and well-written regulation (which, to be fair, is a big if!), we could have clearly-documented rules that apply equally to all market participants, and aren't quite as clearly biased based on commercial incentives (although there would still be an indirect effect due to lobbying).
One other thing is that, at least in Apple app store, the review process catches use of private APIs which are in theory harmless but are not considered stable and could cause the application to crash if a minor update changes the way they work.