This might get long, so I’m going to try to be as coherent as possible on my half-past-midnight, rather sleep-deprived mind.
I’ll start off with Amon, ‘cause I think he’s the most interesting one to talk about in this situation. Amon’s role certainly couldn’t have been filled by any other character, but Amon’s role was also completely superfluous. He contributed next to nothing to the general plot. The only things that would’ve changed if he hadn’t been there? Edo and Ekou would’ve stayed alive. And even that, in the long run, doesn’t change anything about the course of events.
Mind, I’m not saying Amon was an unnecessary character. It’s actually quite brilliant writing, if we take Amon’s own personality into account. Amon wants to be recognized. He wants to accomplish something. He wants to be on top of the world. So what did the writers do?
They made him utterly inconsequential to the plot.
Now, character-wise, Amon does have something to contribute. He and Ekou form a dark mirror for Judai and Yubel. Nevertheless, it’s not a mirror Judai particularly needed or even noticed. It’s just a parallel that’s there for us, the viewers, to notice. Judai never particularly cared. Yubel briefly used him as a pawn, but since he didn’t actually do anything to further or hinder her goals, she was mostly indifferent towards him.
So that’s Amon. Unique, yes, but by virtue of who he wants to be, completely unnecessary. It’s really pretty cruel of the writers.
Now, onto Jim. None of Judai’s other friends had the Eye of Orichalcum, so they wouldn’t have been able to see in Judai’s heart and discover his spirit, even if they weren’t dead at the time. There is actually one other person who could’ve done it: Saiou. That would’ve been interesting, but since by that point, he didn’t have much reason to be around anymore, it might have been tough.
O’Brien, then. O’Brien is actually another great mirror for Judai. O’Brien is a warrior, much like Judai becomes. O’Brien has PTSD, much like Judai ends up with. And much like Judai, O’Brien is willing to make hard decisions if it benefits the rest of the world. I am not sure if Asuka, or Shou, or Manjoume would’ve been prepared to kill Judai if it meant freeing the world of Haou. O’Brien was.
And last, Johan. Johan is… interesting, to say the least. I’m going to say something here that will probably shock quite a large part of the GX fandom:
For Judai, it didn’t matter in the least that Johan was the one who got taken.
Oh sure, Judai adored Johan. They had this great, amazing connection he hadn’t had with any of his other friends. But if it had been any of his other friends, heck, if it had been a random student Judai had never talked to before in his life, he still would have gone after them, and events would still have unfolded in a very similar way. Simply put, during the Dark World, Judai didn’t care for Johan as a person. He cared for Johan as an embodiment of atonement. If he could only save Johan, he could make up for failing the school and getting them in trouble. He could make up for not beating Yubel on his own. Anyone could’ve fulfilled that role for Judai.
It did, however, matter for another person.
For Yubel, it had to be Johan. Note that, before the three-way duel, Yubel had never paid all that much attention to Judai’s friends, Johan included. They were inconsequential to her: only Judai mattered. But then Johan does something. Something that, to her, is completely unforgivable. He interferes in the duel between her and Judai.
It’s pretty clear later on in the show that dueling is a sacred act, and with Judai and Yubel especially, it can be equated to marriage. So what does Johan do? He kicks open the proverbial church doors and shouts: “I object!”
What’s more, he succeeds. Had Yubel won that three-way duel, she wouldn’t have spared Johan a second glance. She would’ve just left him and everyone else to die in the Desert World and taken Judai with her. But Johan beats her, and he takes Judai away from her, and for that, she makes him suffer. Moreover, in him she has the perfect hostage. She knows Judai will come for him, because she knows Judai.
This is a role that couldn’t have been filled by anyone else, unless there was a lot of set-up beforehand. It’s not so much that Johan had to be the gatecrasher, but Rainbow Dragon had to be there. Without Rainbow Dragon, even if they’d won the duel, they’d still be stranded in the Desert World. Rainbow Dragon also gives Johan the ‘weapon’ to take Judai away from Yubel. It’s part of what makes him an actual threat to her. Of course, where the Gem Beasts go, Johan goes. Johan also has a kind of willingness to sacrifice himself that very few other characters have (another character who shares that characteristic is, tellingly, Yubel.) It made him far more willing to jump in at risk of his own life.
So, I hope this went some way towards explaining my position. This got a bit long and, I fear, somewhat incoherent near the end.