Like any other debatable topic, before I reach to some conclusion, I try to define boundaries of the problem. In this case, Arjun or Karna is not important to me. Rather, I am thinking what is meant by a fighter? Is it just who can fight for 24 hrs without getting tired? Or, just whoever knows how to throw arrows with right precision and accuracy? Or, just who is ambidextrous and knows to handle multiple types of weapons with due expertise ? In my opinion, all these are important and necessary but not "sufficient".
A fighter is one, who,
a) knows how to win in odd situations and whose mental strength is immense?
b) gives due respect to his/her enemies and goes for a clean fight without using unfair means
c) is ambitious but does not underestimate his enemies
d) is intelligent and plans for bad situations rather than favorable situations
e) stays beside 'Truth', 'Dharma' and 'Justifiable duties' and is not affected by emotional constraints
f) can isolate every problem to its context, is self-dependent and does not blame others for his misfortune
Now, if you also agree with me, then go ahead and read further. Otherwise, you are free to be biased and choose either Karna or Arjun as your favourite fighter.
Ok, now lets see, who fits the above bill?
a) Take Virat yudh for consideration. Arjun (A) was handling it alone against all Kauravs who attacked Virat Rajya. He single handedly defeated Vishwa, Karna, Duryodhan, Drona and many others and saved Virat Rajya. Karna (K) was also a great fighter and throughout his life, he fought mentally against the stigma of ignorance from society and yet maintained his composure and focus as a fighter. Karna was even great in sacrificing his 'Kavatch' before the Kurukhsetra war. Such was his confidence and mental strength as a fighter! So, 45(A)-55(K).
b) Karna failed to maintain his ‘clean’ fighter image when he teamed with other Kauravas to kill Arjun’s son Abhimanyu. How could he do this? He was one of the 7 killers who together mercilessly killed the brave kid Abhimanyu who troubled the Kauravas till the last point of his life. The ‘yudh’ rules were against it. People say, Karna was a great character by heart – he failed to keep this image in this case. Arjun, on the other hand was stainless in using unfair means in battles. Yes, I agree he used Shikhandi to fight against Vishwa. But, Shikhandi was not actually fighting against Vishwa, he just stood still in Arjun’s chariot; and seeing Shikhandi, Vishwa left his armor. Then Arjun threw arrows to Vishwa and Vishwa welcomed the death to be at the hands of Arjun (because Vishwa used to love Arjun the most). People will also argue that Arjun killed Jayadrath after the Sunset which was against the rule. But, they forget that it was a revenge for the merciless killing of Abhimanyu by Jayadrath. So, there is no fault if you become unfair in removing another wrong thing or person. Also, a ‘false’ sunset was created by Krishna as he guided Surya to disappear for a moment and bring out Jayadrath from hiding. As Jayadrath came out, Sun reappeared and Arjun killed him. So, as far as Arjun is concerned, he realized that the Sun has come back and he killed Jayadrath. 52(A)-48(K).
c) Arjun never underestimated anyone. He learnt this lesson in a hard way in his childhood when he ignored Ekalavya and got beaten. After that, he never underestimated anyone. He knew he can win battles alone too but he always welcomed any other fighter with due respect. Karna too, always used to respect other fighters. But, one thing I don’t like about Karna. He was always keen to fight against Arjun and beat him and prove that he is the better than Arjun. That, in one sense, shows his respect to Arjun. In other sense, it also shows his eagerness to prove Arjun inferior to him. A true soldier should not think about demeaning others and should only do his ‘Karma’, i.e to fight and leave the rest to history to decide who is better. Still, considering Karna’s misfortune of birth rights and the ignorance and stigma associated with it, I would say, 50(A)-50(K)
d) They both were intelligent in making war plans. But, I feel surprised about one thing. Much before Kurukhsetra war, Karna knew that he got 2 curses hanging on his head given by his teacher Parashuram and the Brahmin. Parashuram cursed him that he would forget his learnings at a crucial time and the Brahmin cursed him that his chariot would stop at a very needed moment. But, still Karna did not have any backup plans to come out of such situations.
On the other hand, Urvashi cursed Arjun that he would become impotent for one year because Arjun refused to marry her. Arjun used that curse in his favor when he was in Virat Rajya with a disguise of impotent, viz. Brihannala. Still, considering such curses as unavoidable circumstances, I would say, 50(A)-50(K)
e) We all know Karna was driven by emotion and he did not stand by Truth and Dharma. He was blindly following his best friend Duryodhan for anything he does. Karna’s only mission in life was to stand against Arjun in the battlefield and prove himself a better fighter. He was so emotionally biased that he even insulted Draupadi as a “Prostitute”. He knew Duryodhan was wrong but he still stood by him in Kurukhsetra just because Duryodhan made him the king of Anga Rajya (a societal status) and gave him the chance to fight against Arjun. This is so emotionally driven mindset!! Even as a friend, Karna’s duty was to stop Duryodhan from this war against his brothers. He could have even stayed away from the Yudh as a protest to Adharma. But, he took it as a chance to fight against Arjun. If your best friend is gambling in the casino and losing everytime, would you also sit beside him to give company or would you take him out of the casino?
But look at Arjun, he was always doing his duty irrespective of emotional constraints. When Draupadi was shared by 5 Pandavas, it was decided that no other brother would enter in the room when Draupadi is spending time with one of them. But, once Yudhisthir was alone in a room with Draupadi and a brahmin came to Arjun asking for help to stop thieves stealing his cows. Arjun did not hesitate to take his weapon and entered in that same room. He finished his job and accepted an exile of 12 years of staying away from the family as a punishment. So, a justifiable duty was a bigger cause to Arjun to break an emotional promise. Arjun was even reluctant to fight against his brothers in Kurukhshetra. But, it was Krishna who reminded Arjun about his duties to ‘Dharma’ and Arjun came out of emotional constraints. 70(A)-30(K)
f) I agree that Karna was insulted a good many times as “Soot Putra” by others. That ignorance created a stigma in Karna’s mind. For that he was so depressed that every time he used to blame his fate. The more he blamed his fate, the more people insulted him. I think this was a vicious cycle. In management science, it is important not to think about uncontrollable costs. Karna’s birth was not in his hand. So, then why did not he take it in his stride to forget it and just do his job? It is because he remembered it, people remembered it even more. He never took initiative to ignore this stigma in his mind. He was a great fighter, he got great friendship from Duryodhan, he was king of ‘Anga Rajya’, then why did he not take the positives to ignore just the ‘uncontrollable’? I agree that caste system was very intense in those times in India, but then how did caste stigma drove him to say his mother Kunti that ‘5 of your 6 sons will be alive, either Karna or Arjun would die’? Was the stigma so important for him to send back his own mother with a promise to kill one of her 6 sons? That means he brought his birth-issue in the battlefield also.
For Arjun, it was more of his friendship with Krishna that turned into a kind of dependence. Take Subhadra’s abduction for that matter, there was no need of it but still Arjun went by Krishna’s advice to abduct her. But, he was completely independent in Virat Yudh where he single-handedly defeated all Kauravas and that too without Krishna’s presence. 55(A)-45(K)
The above analysis makes it look like Arjun as a better fighter than Karna. But, I am still not impressed. Because, many questions remained unanswered. What if Karna’s chariot was not stopped? What if Krishna was not there to save Arjun’s life from the deadly arrow that Karna sent to Arjun (for which Arjun had no answer) during the war? Some people argue that if Krishna was not there, Arjun would have surely got beaten. Still, I would say that is a guess and we are not sure about it. Also, why should we leave Krishna out of it? Krishna was a mark of Truth, he is the Almighty, He is the Supreme ‘Dharma’. It was expected that he would be beside Arjun and not beside Duryodhan. Why did not Karna realize the power of Truth?
Overall, I feel their individual fight remained incomplete. That is the greatness of Mahabharata. The debate of Karna and Arjun always reminds a hero (even today) in any domain that his competitor is still out there and unconquered. To me, they both are equally great of all times and we should learn from them.