I think a lot of the apparent inconsistencies in Xunzi, as well as a lot of the arguments his remarks on language have occasioned, are due to some confusions that can cleared up if we make more use of some modern analytic philosophy of language. In particular I’m inclined to argue:
1) Xunzi does hold to an externalist account of reference in the neighborhood of those defended by Hilary Putnum or Tyler Burge. The emphasis here would be on neither rigid designation or the denial of a Fregean or Russellian/Description theory of reference. Rather it’s on the connection between language users and their environment and on the habits of a linguistic community. Xunzi does not assert that it’s not ideas or intentions in the head that secure the reference of a term, not because he rejects the idea, but because it never would have occurred to him. Rather he takes the essential social use of language for granted and he sees that as the precondition for individual saying things, rather than starting with the question of how an individual’s words latch onto reality. What makes “elm” refer to elms is neither a special connection between “e”^”l”^”m” and elms nor a speaker’s intentions to refer to elms when she writes or say “elms”. It simply that the speaker’s linguistic community uses “elms” to talk about elms.
2) This is perfectly consistent the claim that terms a linguistic community comes to use can be better or worse. This is not because some words are intrinsically better or worse matches with their objects, but because names, terms, and the sentences they make up can convey information that is not part of their literal meaning. This allows that two sentences that mean the same thing can convey different information with one being more convenient or less confusing as a result. This comes up in defenses of direct reference theories as a way of explaining why it seems right to say “Lois Lane believes that Superman can fly” but not “Lois Lane believes Clark Kent can fly” even though on a direct reference account these two sentences express the same proposition. If, the story goes, part of the function of a belief attribution is to say something about the guise or mode of presentation under which LL believes the proposition Superman can fly, then we can exploit the lexicographic difference between the two sentences to that effect. This does not become part of the semantics of the sentences; rather we should say it is information imparted pragmatically. Similarly, a direct reference theorist can say “Morning Star” and “Evening Star” represent or refer to the same object (Venus) and that their doing so is a sense arbitrary, while acknowledging that in another sense neither is a very good name. Both pragmatically suggest Venus is a star because of the lexicographic overlap of “Morning Star” and “star”.