The code needs to be reworked so exp is rewarded relative to your own level and battle stats.
As far as I can tell the level of the opponent relative to your own has no bearing on the exp total whatsoever hence the reason why I can still get good exp from lowly level 30 players and get the same off higher level players while getting the snot smacked out of me. Level should matter more in the final outcome. A possible example could be:
Opponent level and/or battle stats higher than your current level/ battle stats = highest possible exp total for your level
Opponent level and/or battle stats is about equal to your level/ battle stats = very good exp for your level.
Opponent level is equal to or higher than your level but battle stats is lower = average to very good exp for your level (depending how much higher the level is or how much lower the battle stats are).
Opponent battle stats is equal to or higher than your level but level is lower = average to very good exp for your level (depending how much higher the battle stats are or how much lower the level is ).
Opponent battle stats and /or level is less than your level and battle stats = weak exp. This total should drop off significantly if the difference is large to discourage players from hitting very weak targets.
This is only a rough draft of something I think could work. Zen can decide how large the gaps between levels and battle stats can be relative to your own when deciding the potential exp total. Maybe have a smaller gap for lower level players to encourage them to go after some stronger opponents and maybe increase the gap as players increase in level offering some incentive to keep leveling up?.
Obviously this system would still allow for players to find soft targets to get easy exp but leveling up is a natural progression and the gym is there for a reason so it is up to the player to utilize both to become a successful player. The system should also be able to cope with the farming of inactive players as current players will outgrow them as they level and train their stats
A case could also be made for weapon skills to factor into the equation but I could be getting ahead of myself
I really don't want to see damage received being part of the equation like it was with the last experimental system. If you are good enough to win with minimal or no damage loss more power to you. The above example should not make damage a factor.