With the teaching assistants help, we were able to procure the following form for noncommutative expand, which works (when applied as a replacement):
noncomexpand := {x_^n_x_^{n_?IntegerQ} /; \[Not] ConstQ[x] \[And]&& n > 0 :> CenterDot @@ ConstantArray[x, n]};
Hope this helps!