Eulogizing villainous characters like Karna and Ravana is a reflection of existence of villainous tendency or mentality in us either openly or subtly. If we find a character’s behavior, taste, looks, action, speech and so on creating a positive resonance in us, we tend to love the character.
No one is cent percent good or cent percent bad. In Karna and Ravana, the evil tendencies were very predominant. No questions about it. They also happened to have some good qualities and tendencies. The great itihas keep both the aspects open and clear. You will find that when it comes to acknowledging the great qualities of these villainous characters, there is no dilution in the narratives.
Hence, if we tend to appreciate them only for their goodness and ignore their negativeness, it is only a reflection of our own psychological status.
It is not just the effect of Kaliyuga. Even in Mahabharat period, there were people appreciating Karna. Almost for all the 100 Kauravas, Karna was a Hero! But, for the Pandavas, Karna was anything but a despicable character — a warrior who thought too much of himself without proportionate merit. Bhishma, one of the grandest personalities of Mahabharat had the least regard for Karna. He considered Karna to be boastful, shallow, arrogant, and not possessing enough capability or prowess to the extent of his self-image.
So, it is quite obvious that only people with villainous tendencies tend to worship villains as heroes.