The current equilibrium seems to be that we're on a sort of vulgar treadmill. The process goes as follows:
1. Decide that previously formal/medical/technical word like "idiot" has developed too many colloquial negative connotations.
2. Invent new formal term, like "mentally retarded", and tell people that they have to use that instead, because the old term is now considered offensive.
3. Because connotation emerges from denotation, the new term develops precisely the same colloquial negative connotations.
4. Rinse and repeat.