I fixed your positional matchmaking (solid solution)
This is a solution in response to the role swapping that breaks the matchmaking system, as well as other issues Redmercy brought up in his video
There's always room for improvement but here's a solid solution.
1st, To fix the swapping roles fiasco. This would be an improvement/ addition to the system that gives you lp based on what role you played "in-game".
Use the fact that they are queing up and getting the primary that they que'd for. (I have an "if" "then" statement) Once someone que's for mid and get's it in champ select, "if" they go anywhere else (in-game) besides mid, "then" they are considered fill and given a 50% splash of lp win/loss to their que'd primary. So 50% to primary, and 50% to the filled role. +/- depending on if they win or lose.
(The in-game sensor will tell if you didn't go to your primary lane or not. (that's how to determine who swapped around.)
Theirs a common theme in the next points, people want to climb in their "main role" (which I have solutions for all of them, for time saving I'll keep the list short and straightforward)
There's still the issues of,
2ed, If someone is autofilled, then they don't care to play the game, because they wont win/lose lp for their main role. *Solution- Anyone who is fill (auto-fill), give a 50% splash of lp for win/loss (gain/ lose) to whatever role you que'd up for as primary. (the in-game will tell if you didn't go to your primary lane or not. (that's how to determine who swapped around.)
3rd, What if people swap roles in champ select to help someone who is autofilled( they don't get lp for their main that they are giving up, just to better the teams chances of winning) keeping in mind that they do this with the intention to win for the team. *Solution- give 50% splash of lp for win/lose to whatever role you que'd up for as primary.
4th,
Players go to a different lane in-game to get a better champ match up, like top and mid swap in game to win certain champ
match-ups (being smart to win the game for your team. Now the player doesn't get lp for their main role)
*Solution- yes, a 50% splash
Final Solution
Instead of giving 100% lp for win/lose for whatever role you played in-game, you either get 100% to que'd primary for playing your que'd primary, or 50%/ 50% for primary/ filled role for playing fill.
**Disclaimer- This technically doesn't "stop" people form doing the swap roles to lower mmr of their games BUT it does make it half as effective. Meaning it would take twice as long to get the same lp. This should make it not rewarding to swap. On the other hand, autofilled players and players who swap to benefit the team, will be extremely happy. They will have done something to increase their chances to win and they will get enough lp to feel like that game mattered.
I'll send you my banking info for fixing your system lol jk I'll be happy to see the game fixed. :D