The answer is in the wikipedia article you linked to earlier...
[it] would not suffice to guarantee C++ compiler
interoperability and it might even create a false
impression that interoperability is possible and
safe when it isn't.
Oh, that's a very good point: if you have two different implementations of std::string, you want them to name-mangle differently so that you don't accidentally pass e.g. a GNU std::string to a function expecting an LLVM one.
It doesn't really answer the question. It's not only about compilers interoperability, but about improving situation with bindings from other languages. And making name mangling standard would surely improve it (at least somewhat).