Instead of gym placement based on CP only, I propose the following:
For the first 3 mons, the first one in gym will reside on the top followed by 2nd and 3rd regardless of CP. Reason behind this is because a player gives zero effort to place the 2nd and 3rd mons into the gym. Once a gym is taken down, presumably by the 1st mon's player, the 2nd and 3rd mons placed in requires zero battle majority (99%) of the time. Yes, you might run into your team's gym that hasnt been completely taken down but that's not that common. 1st player's mon get the top spot (out of the first 3) for his/her effort in taking the gym down.
Starting with the 4th mon, it is placed on top of the other 3. This is because this mon's player had to prestige 2,000 points to raise it enough to place his/her mon into the gym. Then 5th mon, 6th mon until the 10th. The last mon in requires the most effort to prestige it up to 50,000 so it deserves the top spot. So it ends up being a the more effort you put into prestiging a gym, the higher your mon will be placed.
You might say this will make players not wanting to be the one taking down the gym since his/her gym placement will be low. I don't agree. If a player wants to collect coins, he or she WILL have to place his/her mon into a gym. So regardless of position, if you wanna get coins, you have to have a mon in the gym.
So I think my idea makes it fair to all players regardless of player level and pokemons' level. So even if you are level 20, if you put in the effort to prestige a gym to 50,000, you get the right to have your mon on the top.
This way, gyms will be stacked with a variety of mons based on their types with some strategy being built in. For example, if the 4th mon is Gyarados, then the next player will actually think about how to counter attackers and possible put a fire type such as Arcanine to counter the grass type that'll be used to fight Gyarados. Then the 5th player will put a grass type such as Exeggutor to counter the water type that'll be used to fight Arcanine. And so on.
This will force players to select a variety of attackers to counter and anti-counter the mons in the gym. And yes, some people might say just use 6 Dragonites. If that's what you like to attack with, so be it. I personally prefer picking attack mons based on gym defenders types instead of using 6 Dragonites ALL THE TIME.
What do you guys think? Any comments welcome.