Thanks -- good to know about clang, although it does appear that the most recent version supported is clang 7 (Ubuntu defaults to 10, and supports 11). That's to be expected with RH/Centos, which again is one reason why e.g., Ubuntu can be easier to work with.
I'm also not sure I've bought in to the way the devtoolset stuff works, by swapping symlinks around. AFAICT that means that only one version is available at any given time.
If you build and install your own tools, you can (and should) install them in a non-standard location -- once you do that, it's relatively simple to support multiple versions at the same time.
Although if it wasn't for the COW vs. SSO strings problem, I would have spent more time on the devtoolset approach, but the lack of true C++11-style strings was a deal-breaker for me. I would much prefer not to be building compilers, although once you've done it once, it's not too bad.