I suggest that you will replace the pp system with an mmr system which when you want to gain ranks you go and play against another player with the same skill cap which can be determined by your rank and by other things like accuracy, how much s or ss each player got and top plays of each player. so when you will find an opponent it would be a fair match. Also the map picking can be done by the players who can put their own maps (has to be ranked) and the opponent can decide if he would like to play that map or recommend his own map and if both of the players dont like each others picks tillerino can pick a map based on their average rank for example:
if a 93k player is against a 87k player tillerino will give a map in a range of 90k. based on this:
100k+ = between 2-3.5 stars.
100k - 50k = between 3.5 - 4.5 stars.
50k - 25k = 4.5 - 5 stars.
and so on.
And lets say that a player just plays in singleplayer and is getting better then his rank, you could just give him an mmr boost that just lasts for a map or two that just sets him equal to his actual mmr.
if a 93k player is against a 87k player tillerino will give a map in a range of 90k. based on this:
100k+ = between 2-3.5 stars.
100k - 50k = between 3.5 - 4.5 stars.
50k - 25k = 4.5 - 5 stars.
and so on.
And lets say that a player just plays in singleplayer and is getting better then his rank, you could just give him an mmr boost that just lasts for a map or two that just sets him equal to his actual mmr.