definately karna is better warrior here. He is more powerful than arjuna because when without interference from others he would have killed arjuna. At first even though karna was kshatria and a prince of hastinapur he was denied by drona as his student because of the secret kept by kunti. And then he had three curses on his side.And on top of that he was on the side of adharma. Dharma always gets victory. If it was just an ordinary battle with dharma on both sides then it would be karna who would be victorious.Then only he knew that pandavas were his brothers and the pandavas didn't know karna was their brother.Thus, only karna had a slight hesitation in killing pandavs. On top of that his kavacha nd kundala was taken by indra dev.
now looking at former defeat of karna from arjun. In the virata yudha he was not expecting a battle and when the battle started he must not have been so alert and didn't care much about arjuna because there were many great warriors on his side:bhisma pitama, dron acharya, krip acharya, duryodhana, dushashana and he himself. He musn't have even thought that arjina would point his arrows to his pitama and his gurus.In the shywombara
of draupadi, he was not aware that the brahmin was actually arjuna and he had not expected such skills from a brahmin. Then he had praised his guru and gone from there. Had he known that the brahmin was arjina then i don't think he lacked enough arrows or skills to fight arjuna.
now he also had given promise that he would not kill andy other pandavas other than arjun in the battle to kunti.If he had killed other pandavas then arjuna might have died earlier unable to support arjuna and then arjuna might have died himself. If bishama had let karna fight along with him then together they might have been unstopable and kille all the pandavas.
so definately karna is superior