Sorry if this feels like I'm being obstinate, but I am trying to be methodical in working the problem ("this is what happens, and this I am missing this necessary info") instead of starting from a solution ("just change some code") to ensure we are doing the right thing.
At this point, you have not yet described a detailed, reproducible scenario that replicates the actual problem. Without that, we have no way to a) consider other possible solutions or b) test and verify that a particular change solves the problem. You claim that this problem is both common and commonly reported. If so, it should be easy to point to one of these discussions or describe the scenario, and that's all I'm looking for.
I messed around with tools.namespace trying to reproduce this kind of an error, and the only way I got there was with a require at the repl where changing this message would not give me any additional info:
user=> (require '[foo :as bar])
Execution error (IllegalStateException) at user/eval1664 (REPL:1).
Alias bar already exists in namespace user, aliasing foo
Note that in Clojure 1.10.0+, the top line of the stack is not printed here, so you do not see "Namespace" (the examples in tools.namespace readme are older). Saying "Alias bar (intended to refer to foo) already exists in namespace user, aliasing foo" gives no additional information in either understanding or addressing the issue, does it?