As mentioned by others, the problem with APIs is that they are centralized sources of information. This basically eliminates the single most important value-proposition of the blockchain. This is, arguably, more problematic than a fully-centralized service. Most fully-centralized services have methods of reverting malicious modifications of state if they are discovered (e.g.; if someone hacks your bank account, the bank itself is liable and must refund the money lost). The folks at Infura have happily stated that they don't see their service as a long-term solution. It is intended to be a better-than-nothing measure to help reduce the barrier of entry into the blockchain space.
Light clients are intended to address the size issues while maintaining the security of the blockchain, and will ultimately power most desktop blockchain applications (e.g.; the Mist browser). While they might not be 'light' by the standards of a classical client-server interaction, they are significantly more lightweight than running a true node. Once we have stabilized and well-tested light clients, they will allow for much more reasonable application sizes.
In terms of non-client solutions, I recently co-authored a whitepaper proposing a solution. I may be biased, but I think its pretty neat :) It allows for greatly increased security-guarantees and decentralization, but with overhead comparable to a centralized API. I'll add a tl;dr and link below in case anyone cares to know more.
TL;DR: Use a proof-of-stake style system to create trustless channels that allow groups of people with nodes to be rewarded for acting as API endpoints, and punished for any malicious activity. We show that we may engineer the system such that:
Users may recoup their losses from the stake of malicious parties.
The reward to tell the truth is always greater than the reward to lie.
Decentralized infrastructure scales proportionate to demand (thanks to mining-esque reward system).
Not a side-chain (yay!).