What if the two services have different features, even slightly? The protocols are instantly incompatible. The problem is that the feature set, and thus the protocol, is strongly tied to the provider, and decoupling the two doesn't make much sense.
Wasn't this what CORBA, XML-RPC, or SOAP was meant to solve? And then we all happily ditched them for loosely defined RESTy JSON because it was so goddamn easier.
I think TFA is describing a legitimate complaint; but I don't think the RESTy CRUD twitter exposes is all that difficult to abstract.
Amazon on the other hand…
There are some problems with no good solution, namely the signed parameters in Amazon's case. How do you sign JSON? Is there a "canonical" JSON format that will allow signing consistently, and verification? All the approaches I've seen are incompatible in some way.
Client-side SSL is another solution, but its much less flexible (i.e., token-generated requests wouldn't be easy)