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.
But some foreign names work just fine. For instance, one made exclusively of simple vowel or consonant-vowel sequences. The three Chinese characters 奥巴马 very nicely and naturally spell out the sequence O BA MA. (The O usually rendered AO, but close enough; it also was used as the first syllable of Olympics.) Thus, from a local Beijing expat booster:
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.