I think the problem here is that hate is seen as the opposite of love, but it is not. If you think about it, both love and hate involve caring ABOUT the individual. Love means caring FOR him/her, as well, however.
The opposite of love is to ignore -- to not care.
Thus we are to care for the sinner, just as God sends His grace on the just and unjust, the rain on all the fields. We are not to ignore someone because he is a 'sinner.' We are all sinners.
We are also not to judge another person's heart -- that is up to God and God alone. However all the law in the Bible and in our political systems is based on the fact that the sin is to be judged and dealt with.
We care very much about sins: we hate them (hopefully!)
We should at least care as much about the sinners, but in a different way -- caring for them. Not approving of their actions, but caring for them as people. That is what love is -- to put another higher than yourself in your time and effort and protection.