As previously noted, foreign names and nouns often suffer badly in the transition into Chinese characters, mainly because Chinese phonetics has no way of rendering a number of sounds common in English and other Western languages. For instance: no good way to render a string of two or three consonants in a row, like the str sound that begins "string" or nds that ends "ends." Details another time.
As a result, it can a real cryptic/rebus type challenge to figure out what foreign name a Chinese translation is meant to represent. During Olympic basketball games, Kaiwen Jianeite was the local name for Kevin Garnett.
Perhaps it helps that "Obama" is not itself originally a Western name? "McCain" is a little more of a challenge, rendered in characters 麦凯恩, or MAI KAI EN. I think of the first character, which literally has to do with grains, as homage to Scotland, since it's also the beginning of McDonald's in Chinese: 麦当劳, MAI DANG LAO.
Have seen a number of Happy Meal-themed 麦当劳 apparel on the street during my time in China. Nothing yet with GOP-themed 麦凯恩. And I'm still waiting to see an Olympic/election hybred-themed shirt saying something like 奥巴马 加油!*
*The story of 加油, "Let's go!" also explained here.