One strategy employed by Netflix is to introduce a second API layer < http://techblog.netflix.com/2012/07/embracing-differences-inside-netflix.htm...
on top of the general content API to handle device-specific needs. I think this is a sound strategy, as it contains the volatility in a separate layer while ensuring that everything is ultimately consuming the general-purpose API.
This design appears often enough that it can likely be called a "design pattern". The Selenium/Webdriver project did exactly the same thing[1]. The API for Selenium v2 has about 1/3 as many functions as Selenium v1. People that use Selenium v2 build their own high-level APIs based on the basic core set of functions available.
Defining the scope of the "general content API" can be challenging.