I honestly struggle to name a badly written character in One Piece.
Maybe post-timeskip Chopper is one of the more questionable ones.
I’m not a big fan of Sabo either. His existence feels like pure fanservice, and he kind of cheapened the Revolutionary Army. By introducing a young character with a strong emotional link to Luffy, Oda took the easy route in handling that faction. But that’s just my personal take, it’s not really a flaw in the writing. Even though I don’t connect with the character at all, I can recognize that he’s appealing to many readers.
Another one is Kid. Honestly, he could’ve been replaced by pretty much anyone else. I’ve never really understood what’s supposed to make him compelling. When he showed up at Sabaody, he seemed like the most interesting Supernova, and then he basically faded into nothing. Bland personality, predictable, repetitive. It’s hard to empathize with him because you’re never really given anything solid about who he is. There’s a huge gap between the role he plays in the story and the actual depth put into his character.
King is another one I find boring. Feels like an idea thrown in with barely any development. In terms of character writing, I think he’s completely forgettable. You could sum him up in two panels. Again, not a “badly written” character per se, but considering his role, Oda barely even tried. Among the many right-hand men we’ve seen in One Piece (from Mr. 1 onward), I think he compares poorly to basically all of them.
So I’d say post-timeskip Chopper, Sabo, Kid, and King. Can’t really think of any others.