Law is a striking example of an allied character who has long overstayed his welcome in the story, taking up precious screentime away from most of the straw hats who needed development in the post-TS. The amount of focus he received over these multiple arcs should have been toned down a bit. At the very least, his crew should have played a bigger role and appeared more often. I'm not trying to downplay the role of law in the story regarding his devil fruit or the will of D.
In retrospect, Oda could have mitigated this issue by spreading that balance around with other pirates of the worst generation: Kidd, Drake, maybe Hawkins, Urouge, etc.
At the end of the day, it's not really Law's fault. There's always been the problem that a large number of allies get introduced in each arc, and they don't really go anywhere after. Oda himself admitted that he loves creating new characters on the spot, but that it creates problems in the long run when he doesn't know what to do with most of them.