The UCMJ isn't perfect but it doesn't need a lot of tinkering to 'improve' it; it does need to be better taught and understood by those who serve.

It's first and foremost a personnel policy problem -- the promotion system is skewed toward time in service and time in grade and not performance. that problem exists because Congress ignorantly, wrongly and stupidly (triple redundancy there, forgive me) insists on 'fairness and objectivity' in promotions, officer and enlisted. Thus performance, a subjective determination is rejected for years or months in grade or service, schools completed and jobs held which can all be 'measured.' Counted is perhaps a more accurate word. Yet more misuse of 'metrics.'

That flaw is exacerbated by mediocre to poor training.

Modifying the law or the UCMJ won't fix the underlying problem.