High ping players don't have a real advantage. Even with uneven movement (due to an uneven distribution of packets), the low pingers have a lot of time to react first. In fact, dieing against a low pinger very often feels like getting shot by a bot. Unfortunately, there is no way to even the play field in this. At this point, I will remind that if players cry for unhittability, there is no such thing. The position you see someone is the exact position where the hitboxes are. There is no two origins, different for the player model and for the hitboxes. They are the same and the server stores them. Also, there is no way to "fool" the server in this. The players in your screen are in the positions where the server says they are and those positions are stored for the bullet traces.
The g_skipCorrection and g_antiwarp are mutually exclusive. If g_antiwarp is set, the g_skipCorrection is ignored. You can try setting the g_antiwarp to 0. They both attempt to address the same issue and even the movements. Though, it has been sometimes said, that the g_skipCorrection is nicer to high pingers then the g_antiwarp. There is no harm testing both to see if the other fits better.
The g_antilag is not a culprit for anything. All antilag does is it stores player positions and thus allows making traces with positions the players saw the others were when they shot. Well, antilag is the culprit for the "shot around the corner" effect, when the escaping player might already think being safe. This is one example where it is easy to see the disadvantage of high ping. The escaping player would have had a lot of time to shoot the high pinger even in this situation as the server processes all the shots in the order they arrive to the server. Dead players don't make hits.
The g_antilagDelay adds time to the client command times. This will screw the antilag so 0 is the correct value for this.