Karna in his previous birth was a rAkshasa who was a great , almost undefeated warrior and was subdued by Nara and Narayana. The Rakshasa (I forget his name) had an armor with 1000 chinks. Nara and Narayana each performed penance for a 1000 years and fought him for the next 1000 years. They alternated their penance and battle. Each such 1000-year battle merely chipped off 1 chink from the rakshasa's armor. This occurred 999 times and one chink still remained. Narayana stated that the rakshasa will be defeated/killed in his next birth and their next avatara. This same rakshasa with one remaining chink in his super-armor was born as Karna with vestigial armor and earrings.
Sun God is praktyaksha nArAyana, sarva sAkshi and the bestower of health, wealth, wisdom and self-realization. Anyone who has received his grace is certainly a force to reckon with. Even Lord Hanuman received his formal education from Sun God. Karna was born by the grace of the great sage Durvasa and the grace of the Sun God.
He is a warrior non-pareil. It is said the Karna was defeated in battle only after 6 forces combined against him. These 6 are Krishna, Arjuna, Salya, Indra (who appropriated his armor and earrings), kunti (who asked him to spare her sons), mother earth (who cursed him)
His generosity and charity are extolled even by the Gods (e.g. Indra)
He is a loyal friend.
Had Krishna not intervened, he would have won Draupadi in the matsya yantra test conducted for her prospective groom.
His dedication to his cause is indeed praiseworthy. He is said to have vowed to give up liquor and meat till he defeated (or was defeated by) Arjuna
However, he lied to Parasurama about his caste and received his curse and heckled at Draupadi. These are particularly tragic in this warrior's history.
The story of Nara/Narayana and the rakshasa and other stories about Karna can be found in the BHagavata and Mahabharata.
Karna is special because of the fanfiction created by his fanatics irrespective of his portrayal in manuscripts of Mahabharata
1). He was gifted the celestial armor and ear-rings due to the request of Kunti to Surya but his fanatics skipped this part in folklores to show his birth as a tragedy
2). Suta wasn't a lower caste but a mixture of Brahmana and Kshtriya hence had the status of high caste.
3). Karna was loved by his foster parents but his fanatics made his foster mother Radha hate him initially to help him gain sympathy.
4). Kunti kept taking report of Karna through her spies when he was getting raised up by Adhiratha and Radha but again this part is also skipped.
5). Karna was taught by Drona and Kripa the art of warfare along with other Kuru princes but this part is not only skipped but horribly modified to not only help Karna in gaining sympathy but also in demeaning Drona.
6). Karna was cursed by Parshurama when the letter found out the reason of Karna's rejection by Drona in teaching Brahmastra and Parshurama tagged him a wicked person.
7). Karna was very rich even before becoming a King as he used to donate golds and diamonds.
8). Karna only equalled Arjuna in Rangbhoomi not surpassed him.
9). Karna wasn't rejected in Draupadi swayamvar but failed to string the bow.
10). Karna was defeated by Bhima in his Rajsuya conquest.
11). Karna didn't protested in Draupadi's humiliation.
12). Karna wasn't drunk in Ghoshyatra still he was defeated by Gandharvas.
13). Karna lost to Arjuna many times in Virata war and lost his brother in front of his sight.
14). Karna was rescued from Satyaki on 12th day of Kurukshetra war.
15). Karna was defeated by Abhimanyu on 13th day and the former attacked the latter when the latter was chariotless and bowless.
16). Karna was defeated by Bhima,Satyaki and Arjuna on 14th day.
17). Karna was overpowered by Arjuna on 16th day.
18). Vijaya bow wasn't given to Karna by Parshurama rather it was unknown son of Bhrigu who gave Vijaya bow to Karna.
19). Karna was defeated by Bhima on 17th day despite having Vijaya bow.
20). Karna openly accepted that Arjuna alone defeated him in Virata war and Arjuna is unmatched warrior on 17th day.
21). Karna was killed fairly by Arjuna on 17th day.
Like any library, Hinduism Stack Exchange shares great information, but does not offer personalized advice, and does not take the place of seeking such advice from any Acharya, Pundit, astrologer, Guru or other trustworthy Counselor.