Gai is pretty much the worst written character on the show and that's saying a lot, biggest problem with him is that he feels so underwritten and there's huge portions of his backstory that's never detailed or given much development because he's meant to be Shu's poplar opposite and not much else which is was probably one of the only well-done aspect of Code Geass was Lelouch's rivalry with Suzaku where you understand where both characters are coming from and why they do the things they do and in GC you're just wondering why does Gai even exist other than to delivery half baked exposiion.
That whole episode of GC is probably the only one people will agree was decently written and it was one of the few episodes written by the Code Geass head writer Okouchi. Sugar winded up not being a bad character all said and done.
Arisa was just all around lame, just a dumb character with a dumb motive who didn't even get a satisfying death just to put an end to her worthless existence instead she survives for some reason other than to be a last fuck you to the audience much like Daryl did
Shu's problem is the same as every other character in GC in which they are written to be extreme personifications of tropes that are popular in order to be popular because there's no other way you can establish that Shu is a wimp other than seeing him bundled in the fetal position while the love of his life gets captured in the first episode, Evangelion managed to have more subtle in its characterization than a lot of anime back then and now so the characters actually felt more real and you can get their plights without making them retarded in the eyes of the viewer and that was essentially Shu's problem, he's Shinji if all that character had to him was being a wimpy faggot.