I think we agree, but am not sure. My opinion is that the smallest, easily understood subset of _signed/_unsigned/etc... be used in a design. This is "+" from either signed/unsigned, "-" from signed, and to_integer from unsigned or conv_integer from std_logic_arith (or if you hate the non-ieee of the package, "to_int" from your own package.)
"-" from _signed is to add the unary operator.
This gives convenience without redefining a useful property of "=", nor making ambiguous inequalities or multiplications seem like a good idea.