A slightly different approach

 Clear[dominateCount]
 
 dominateCount[points : {_, _} ..] := 
 Module[{pairs, dominatePick, pickedPoints}, 
 pairs = Subsets[{points}, {2}];
 dominatePick[p1_List, p2_List] := Switch[p1 - p2,
 {_?NonNegative, _?NonPositive}, 
 p1, {_?NonPositive, _?NonNegative}, p2,
 _, Null];
 pickedPoints = dominatePick @@@ pairs;
 DeleteCases[
 Append[Tally@pickedPoints, 
 Append[Complement[{points}, pickedPoints], 0]], {Null, _}]
 ]
 
 dominateCount[p1, p2, p3] 
 (* {{{5, -2}, 2}, {{4, -1}, 1}, {{1, 5}, 0}} *)