ugh
the simple way to have a good API is to charge money for it. if you make money because the product has value for me, you'll make a good product for me.
in the case of Facebook, LinkedIn, Twitter, etc. the whole point of the API is to exploit you, not serve you. so they don't care if they piss you off.