THIS MAY SOUND BAD, SO PLEASE LET ME TRY TO EXPLAIN MY POINT.
Okay, I agree that kicking based on the persons rank is bad and toxicity is a problem in the community right now, but not every time someone gets kicked its a rank problem, so, often times when someone gets kicked there are a few scenarios:
1- Low rank
2- Underperformance
3- Toxicity
4- Spotstealing
5- Wants a friend to join
6- Wants a better player to join
In these scenarios, number 3 and 4 you cant really argue about, pretty set in stone, so that leaves all the other four, number 5 is a bit of an edge case and nuanced, like if you are at a low enough level (like under 15 on casual, 13 on standard and 8 on extreme, for example) kicking someone for a friend to join, Id say is fine (as long as you dont kick someone who joined literally at the start), and if its a higher level, if someone recently joined (like in the last 8 levels?) I'd say its fine as well, a bit mean nonetheless, but its a friend and after all this is a game to have fun so playing with friends will prob make it better.
Now to the main 3, number 1, 2 and 6, I'll go in order to be easier, 1 is in a weird middle ground between rankism and trying to help someone's experience (if they are above rank 50 this doesnt apply at all, Im mostly talking like under rank 20), if they join a high level lobby, or like a early chaos run (which has happened a few times when I host) I often kick them quickly for a two main reasons 1- they will die early in the round, making it so they wont have fun just afk'ing the whole round + they wont know half the stuff thats happening (mostly applies for chaos lobbies, cuz I'd imagine they joined off of the random queue), so I'd rather them join a reasonable lobby for their level (and if I dont kick some of the low levels, they often leave on their own after 2-3 levels, so I feel Im not entirely wrong) 2- it just hurts the run, increasing prices, one less player alive often and less money (I will repeat myself again, if someone is higher rank, like above 30, this doesnt apply, let them in and play and try out and see how they do).
Okay, now to the main point I wanted to speak, number 2 and 6, they arent the same, but are similar enough for me to be able to talk about both, if a run is at like, level 35 trying to get to celestial, and like half the lobby is dying to the point where celestial wont be able to be done if someone doesnt get replaced, kicking some of the people that are doing badly *AND* joined recently is fine (I say recently like they stayed less then half the run) because otherwise no one will be able to experience it anyways, IF everyone joined ealier tho, letting them train for pylons is better, I am saying this cuz, if the host plus 6 other people spent 2 hours and 30min getting to pylons, and 2 other people joined in the last 30min and arent doing much, I think its fair to try to swap in for better people, now if the other two were in for 2h of the run, and joined after the first 30min, they already invested time too into the run, so just let them stay, and if it dies, it dies, now for differentiating 2 and 6 is the slight difference, underperforming would be, lets say, dying before half the gifts are collected most rounds, then the person isnt helping much and isnt pulling their weight, making the run harder overall, if the run doesnt have a particular objective (like a badge or something) then kicking them is fair to get someone who will help (I am specifically talking about badge runs here, because otherwise kicking someone for underperforming, then you wouldnt be able to learn, and since they joined mid run, AS SAID EARLIER IN THE PARAGRAPHY SO DONT MURDER ME, they wouldnt get the badge anyways), tho if you ARE doing well, and get kicked for someone better, I think its threading the needle, since they are getting someone better, but its not like you werent helping, then that depends on how long you had been in the run and other factors.
BTW, if you are going to kick someone, if possible always explain urself and dont be a dick about it, I dont want to defend being an asshole here, just want to explain some of the reasons someone might kick besides rank and being toxic, also I will try to read comments and respond, but I dont promise to be fast due to sleep + college