In the deep structure, James Potter and Severus Snape can be interpreted as aspects of the same character.
As a child, Harry Potter has an admiring view of his father based on his positive characteristics only - as most children have of their parents - and he dislikes Snape for Snape's apparent resentment of himself and for what little he knows of Snape's treatment of his father. As we now know, he has some justification for all three of these bases of his outlook, but that does not mean that he views either man either with an adult's wisdom or with sufficient knowledge to make a judgement. He has a lot to learn.
As a fully grown adult, Harry bestows his father's given name James on his own first son as a first name, and Snape's given name Severus on his second son as a second name.
In between, as an adolescent, and as he develops his own personality, Harry seeks out information about the past and undergoes trials in the present, and for a time the way he views both his father and Snape becomes more negative. His attitude towards his father moves away from one of childish admiration, and his fear and perhaps even loathing of Snape increase.
Significantly, his understanding of the relationship between his father and Snape plays a role in the maturation of his attitude towards both.
Snape of course enters as negative, even if the idea of a housemaster who is probably an agent of evil, as realised by the child protagonists but not by Dumbledore, is not one of the series's best implemented themes. Although he doesn't lose dark aspects entirely, he does lose them in the extreme form in which Harry conceives of them and, of course, he loses them in what is essential: the matter of which side Harry understands him to be committed to, unshakeably and even at the cost of his life. He becomes viewed by Harry as essentially and deeply positive - a man to be admired, a man Harry names his second son after. As we all know, Snape's revelation as not an enemy agent, not even a double agent who has fooled his own father-figure Dumbledore - a grandfather-figure for Harry - but as a treble agent, who has throughout his time as a teacher at Hogwarts been unshakeably on the side of the good guys, is a main dramatic moment in the seventh novel.
But we note that the son that Harry names after Snape is his second. As reinforcement, we also observe that it is his first son's first name that is James, and his second son's second that is Severus. In a sense, Snape is welcomed into the family. In another sense, blood is thicker than water. Harry's love of his father, which dipped, has now been regained and has moved to a higher level.
At the end of the series, if James Potter and Severus Snape could meet, it is evident that they would meet as dear friends, or, in my interpretation, as now harmoniously combined aspects of a single structural entity - not worshipped, not feared, but admired and loved by Harry as an adult. There will be no bullying and no resentment either. The conflict between them has been surpassed.
So in the deep structure, the question of which is the better man is the wrong one to ask because it does not get to the underlying features of the relationship between them as it manifests throughout the story - in the diachronism of Harry's experience, his growing up - which is precisely the ground for the two men's own characters.