Don't worry, formatting of polynomials has been a problem for decades. For your particular polynomial you get a nice-looking output with Inactive
:
Inactive[Plus] @@ MonomialList[-5 x + 3, x]
but negative coefficients are a problem in other cases:
Inactive[Plus] @@ MonomialList[-5 x - 3, x]
Here is an attempt to get a nice formatting:
nicePolynomial[poly_, x_] :=
DisplayForm[
ToBoxes[Inactive[Plus] @@
MonomialList[poly, x]] //. {{a___, TagBox[__],
RowBox[{"-", b___}], c___} :> {a, RowBox[{"-", b}], c},
{a___, TagBox[__], RowBox[{RowBox[{"-", b___}], c___}],
d___} :> {a, RowBox[{RowBox[{"-", b}], c}], d}}];
It seems to work well in the few cases I tested it on, such as
nicePolynomial[-5 x - 3 - x^3, x]
Do not use the output for further calculations, though! It is only for display. An expert in box structures could do a better job.