I like the idea of SR. I thought it will solve the unbalanced teams problem. But it doesn't work as we want. Why? Because SR is not calculated well. Some players, who are not making a big difference when joining a one side, have very high SR. Also, I noticed that these players who really makes a difference have SR between 20-30.
I think we have to improve SR system. I'm not sure how it is calculated in the back-end. I think it's time to look at the algorithm and look at the data. Pick common data for good players. I'm not sure if SR is counting when a player is playing with bots. My opinion is that SR shouldn't increase when there are bots on the server. We can gather all the data about the user (avg. acc, avg. hs acc, win/loss and more) All we have to do is to choose the right weights for the data.
We have data, so we need to make some UX Research and analysis.
After that, I recommend resetting SR.
We did one iteration of SR system. From my experience, developing a software, it is about repeating these loops: research, prototype, develop, test.
I know that probably it's a request for Legacy developers, but I think it's worth to ask them
Talking about ideas you wrote. I'm not a fan of making shuffle at the beginning of each map. It will ruin the game.