The character work is so much improved that it's not even funny, the relatively small scale of the conflict keeps everything centered on the protagonists and their character arcs, and not only is the villain not an exceedingly disappointing afterthought, he's actually easily one of the best villains in the MCU! Like seriously, I think I might rate Ronan as the absolute worst MCU villain (only because it's such a squandering of the comics character; Malekith from Thor 2 is straight-up the worst villain in the MCU, but I'm less bothered by them screwing up that character), it was pretty shocking to see such a wild improvement.
Unfortunately, as in the first movie, Gamora is still absolutely squandered, with no real arc to speak of. She's once again a big ol' nothing of a character, who only exists to tell the other Guardians to stop being goofy and behave; She gets about 15 seconds of good (non-action/character-building dialogue) material after her fight with Nebula, but it gets passed over so quickly that it kinda just made me more frustrated; the rest of the time she's onscreen it's just in service to that dumb Star-Lord/Gamora relationship, which still doesn't work: there is no chemistry between these two characters, no actual reason why these two characters should get together besides the movie insisting that they should.Stop squandering Zoe Saldana!
Compare and contrast to Nebula, a character I had absolutely zero attachment to in the first GotG, and was not particularly enthused to see returning: in this movie, even as a relatively minor character, she finally received some sorely needed characterization that instantly made her compelling. And all it took was like, a 30 second, well-written monologue! Both Gamora and Nebula should've gotten that kind of treatment in the first movie!
Mantis (who is one of my favorite members of the GotG in the comics) had a pretty good amount of development for most of the movie, but I was really, really disappointed by the climax, where she basically became completely irrelevant to the proceedings. It felt as if her entire character arc had been abruptly ended: there wasn't a single moment in the movie devoted to the fact that she's essentially betraying her (adoptive) father, which is pretty weird cuz the movie's central theme is family? Ego is basically the only person she's known in her entire life, her decision to side with the Guardians is a titanic, earth-shattering choice for her. But the movie just sorta glosses over it; the movie desperately needed some kind of confrontation/conversation between Mantis and Ego in the finale, but instead she gets knocked out almost immediately.
Also related to the finale, I think it should've been reworked a bit. When the Sovereign show up, they sorta derail everything, but then they very quickly have all their ships blown up; the only thing they really accomplish is destroying the mining ship everyone's in. It just seems like it'd make a great deal more sense to have the finale be entirely about the Guardians versus Ego; he could blow up their ship, separate everyone, and I dunno, generate minions or something to give them a chance to have a cool fight. Maybe Mantis could use her powers to limit Ego's energy in some way, preventing him from using any big, overpowered attacks, and that's why he has to send minions or something? And then you could fit in a conversation between Mantis and Ego about her betrayal, and maybe also give her a chance to show off her
sweet martial arts moves! But then ultimately she gets knocked out and Ego gets to use the entirety of his powers, and entraps everyone under rocks, as in the actual movie!
I think it would still be cool to have the Sovereign show up, but maybe they don't even manage to enter Ego's atmosphere? The movie never had Ego's giant planet face talk to anyone, and that's a HUGE DISAPPOINTMENT, because a giant talking planet face is amazing. So maybe the Sovereign could've still shown up during the finale, but while they're still in orbit, Ego (the planet) starts talking to them, and he blasts them all away? And that would still preserve the midcredits scene where Ayesha is in trouble with the High Council for wasting so many resources!