Change address has nothing to do with privacy. It's simply the technical product of the basics of Bitcoin. You can only spend full output (well, to simplify), which means you need to be given change. that's all.
Change addresses have
everything to do with privacy. That's the only reason they exist. They aren't required to receive "change" from partially spent outputs. If you don't use change addresses, change is simply returned to the sending address.
It provides a tiny ammount of anonimity in the mere sense that it's non-trivial to see your current balance, but that's about it. It wasn't designed to keep you safe from prying eyes.
Transactions can be constructed such that it isn't clear which addresses are change addresses and which are payments. Further, multiple change addresses can be used. An observer cannot know (without other corroborating information) which of the involved addresses are under the control of one person (or group of people).
Privacy is preserved by not associating your keys to your personal identity in any way, shape, or form.
Obviously. But that may be impossible. You could be compromised in various ways, no matter how good your operational security is. I always consider that
at some point, my identity will be linked
to some outputs, whether through a third party service or a compromise. Therefore, it's irrational to be sloppy and link all my wallets and addresses together.