So, skill level is relative, it's dependant on yourself, of course, but the things the that represent it become distorted by the performance of your own team and the opposing team. Basically, if your team does well, you should all be receiving a high amount of experience, and if you team does poorly you will all be receiving a low amount. However, even after a match with a poor team, you might still have done better than your entire team. My suggestion is that you take your own experience points and divide them by the total experience of your own team.
Personal EXP
Total Team EXP(Incl. Personal EXP)
1. This way you will end up with a relative figure that shouldn't change much, since it bypasses the variable of a good/bad team - because you don't compare it to the enemy.
2. The highest "ranking" you can get with this system is 1, obviously, assuming that your entire team got 0 points in total. You could multiply the division result by 100, just to make it look nicer.
3. And finally, assume that a player joins the game late, you wouldn't want him to be punished because of that fact. Therefore, I suggest that you simply take the average EXP of the players on his team (not his EXP, of course) at the point in time of when he joined and add it to final calculation, without actually giving him physical points
There you go, just a quick idea. Tell me if you like it in the poll above.

Peace,
Mem