They should just make it so that if you are 5 levels higher or below someone you cant interact with them in pvp combat (except for main cities of course)
Would solve everyone's issues.
Look I'll even give you some pseudo code:
function canPvp(player1, player2){
if(abs(player1.getLevel() - player2.getLevel()) > 5 && player1.getLocationType() != "city"){
return false;
}
else{
return true;
}
}