Here is the integer programming method to force a minimum on the number of inequalities violated. The code is almiost the same as before except we make the objective function use 0-1 variables. The 10^6 usage is a heuristic. In general we want something with a quotient much larger than a machine precision ULP, but smaller than the max violation (else we'll have an unsatisfiable system). Stated differently, the result will be optimal unless there is a consistent system from omitting fewer inequalities but accepting a constraint violation larger than 10^6.
e2 = eqs /. {aa_ >= bb_ :> bb - aa, aa_ <= bb_ :> aa - bb};
cvars = Array[c, Length[e2]];
ineqs1 = Thread[cvars >= e2/10^6];
ineqs2 = Thread[0 <= cvars <= 1];
obj = Total[cvars];
allvars = Join[cvars, Variables[e2]];
In[205]:= NMinimize[{obj,
Join[ineqs1, ineqs2, {Element[cvars, Integers]}]}, allvars]
(* Out[205]= {2., {16[1] -> 0, 16[2] -> 1, 16[3] -> 0, 16[4] -> 0,
16[5] -> 0, 16[6] -> 0, 16[7] -> 0, 16[8] -> 0, 16[9] -> 0,
16[10] -> 0, 16[11] -> 0, 16[12] -> 1, 16[13] -> 0, 16[14] -> 0,
16[15] -> 0, 16[16] -> 0, 16[17] -> 0, 16[18] -> 0, 16[19] -> 0,
16[20] -> 0, 16[21] -> 0, 16[22] -> 0, 16[23] -> 0, 16[24] -> 0,
16[25] -> 0, 16[26] -> 0, 16[27] -> 0, 16[28] -> 0, 16[29] -> 0,
16[30] -> 0, x -> 38.7097, y -> 92.4653882578, z -> -1.07476935423}} *)
I will remark that this particular solution gives a worse total violation than my previous one, but only requires removal of two inequalities (#2 and #12; this time it's not a matter of checking by eyeball). Also I will say that this approach can be slow in general, although in this example it is quite fast.