Smt. Renuka,
All these itihaasas were cooked up by some anonymous but gifted poet/s, for sure, and we had equally good or perhaps much more gifted poets like Kalidasa, Bhaaravi, Bhartruhari, Dandin, Bhavabhuti, and so on. These works were composed to subserve certain specific agendas of the priestly class; the Ramayana of Valmiki (whose history is shrouded in legends - so was he a real person?) projected a new divinity called Rama belonging to the Kshatriya class, but before him (Rama) they had created and tested two brahmin avataars, Vaamana and Parasurama, probably when the brahmins had the upper hand over the Kshatriyas of the times. But then, the Kshatriyas rose in revolt and recaptured their power over the rest of the society and, accordingly, Rama was brought forth. If one can see impartially, this is much like any automobile company launching newer models to suit the customer preferences which change with time!
The Krishna avataar probably was necessitated when the agricultural groups (the yaadavas) became very powerful and some of them even rose to become rulers of some provinces; additionally, Krishna with his black complexion, could also absorb the "maayOn" concept which was very prevalent in the Tamil region and around whom the Bhakti and Vaishnava cults grew. Today we will hear "maayOn" in some devotional songs on Krishna as one of the several names of Krishna. In the Mahabharata, Krishna makes his appearance as a young prince attending Draupadi’s wedding; no information is given in MB itself about Krishna's birth, his divinity, etc., and all these were added later on by Bhaagavatham and Harivamsam. If you look at Mahabharata alone, and analyse Krishna's role, you will find enough justification for Arjuna trying to kill Krishna on the charge that the latter was plotting for the complete destruction of the Kuru dynasty (Pandavas also were Kurus) so that his own Yadava kingdom in Mathura could annex the Kuru territory as well!
But religion being a very powerful brainwashing tool, and highly efficacious at that, many people still believe whatever is parroted out by our pravachanakartas on public platforms; for instance will you ever hear any pravachanakartha referring to Rama killing Shambuka? Probably not.
Hence, in my view no character in Mahabharata, including Krishna, is completely good or completely bad; all were more or less just like us, ordinary mortals and creatures of circumstances, but Karna stands out because Fate was against him right from Kunti's unwarranted experiment in motherhood and in that sense, Kunti was the most morally reprehensible character of all!