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_?IntegerQ /; \[Not] ConstQ[x] \[And] n > 0 :> CenterDot @@ ConstantArray[x, n]};`

Hope this helps!