There must be freedom of interpretations of any text according to the frames of references, level of understanding, extent of ideological justification one wants to use and so on.
Let us be happy that there are scopes for interpreting and portraying characters psychologically and/ or based on raw human emotions beyond religio-moralistic prescriptions of right and wrong.
Interpreting any art and the art of interpretation may preferably move beyond fixed and readymade characterisations.
What may be of greater good and considered as immoral in the context of the times when the tale has taken place need not be always correct.
Character of Karna starts with the irresponsible behaviour of his parents in not opening up about his identity.
Though everyone praises his generosity which could be a ploy to divert from the greater virtue that he practised namely, gratitude and loyalty ( two qualities people omit and cover it up with justifications).
His character was a useful example for those who may not have the privilege of divine grace or help.
Many things he did or did not do were mostly due to compulsions of circumstances and unwillingness to betray at any cost those who helped him in life.