You'd be surprised. It's easy enough for a writer to distinguish dialog spoken by a country bumpkin vs a sophisticated urbanite or between a ruler and a peasant because they have a different set of vocab and there are Chinese characters for most of the vocab that the different speakers will use.
Chinese can represent phonetic systems by a similar rebus principle. One crucial difference is that syllabaries and abigudas tend to work on having one character per consonant-vowel pair, which works poorly on languages like English where consonant clusters can get atrocious (strangsts: 1 vowel, 8 consonants). Many languages tend to limit themselves to CV or CVC (which can be handled by special rules like C₁V₁ + C₂V₁ really means CVC, e.g., Mayan), so it's not so much a problem unless you're trying to transliterate completely different languages. Of course, Latin script has its own problems in transliteration: it's atonal, it relies on voiced/voiceless distinctions (Chinese uses aspirated/unaspirated primarily!), and good luck if you have languages that have four sounds we'd analyze as "h."
I'll point out that Chinese script has been used to write other languages--most notably Japanese, Korean, and Mongolian, none of which are related to the Chinese languages.
Another problem with Chinese is that, because you can write the same sound many different ways, you can make mere phonetic transcription a political deal. A transcription might happen upon the character for "small" or "stupid" or "backwards," which might not go over well if it's someone's personal name.
Isn't this true for any general writing system? The textual recording of one's speech is always lossy. That's why the writers, when they deem it to be important enough, add descriptions here and there about the speaker, to capture all kind of verbal or non verbal details.