I think there's a big problem with modern character-driven, ensemble-cast, long-arc television, and it's that there's usually no reason for half the characters to be there. This wouldn't be a problem if the writers just let them fade into the background and be "supporting", but for whatever reason they feel they need to give them a running sub-plot.
James Olsen is the worst example, for me. I love the Supergirl version of the character, I love the actor (I don't give a damn that he's got the wrong colour eyes because he's got charisma and nails the character) and his contribution to season 1 was great and an integral part of the story.
Then they came to season 2, and suddenly... he's not essential the the story -- and let's keep in mind that this is supposed to be Supergirl's story, so the only things you really need in it are those things that shine a light on her. So that's not actually a problem if you just let James hang around in the background until he's needed to interact with the story, but you get the feeling that the writers (and possibly Mehcad Brooks' agent? I dunno how it works) sit round and go, "Mehcad's only on screen for one scene and gets two lines in this ep, what we gonna do??? [flips through a stack of old comics] Guardian!!! Squeeee!"
And basically you get a character shoe-horned into a role that he doesn't fit and the show doesn't need, and it's rubbish and there's suddenly less Supergirl on screen.
See also Joe West.