John 3:16 is not a contradiction of Psalms 5:5 even though it might appear to be one at first glance. In the original language, the word used for "world" in John 3:16 is from the Greek cosmos. We normally think of the "world" as our planet, earth. Not so, in the word-choice of cosmos. The surface meaning is "universe," but the underlying meaning is one of "order". God loves the order He established in the universe He created. At the same time, He hates chaos which also has more meaning, in the original Greek, than our superficial understanding. All evildoers are agents of chaos, as is their master, Satan--the ultimate agent of chaos. God hates chaos and all who desire to cause it. He sent His Son to reconcile those who believe, to the proper order of the universe in Him. He will send His Son a second time to temporarily renew much of the order in the physical realm during the Millennial Reign (in the words of Isaiah 65:20, only sinners will die as young as 100 years old). During that period, the chaos-maker, Satan, will be bound. At the end of the 1,000 years, he will be loosed to deceive the nations once again. But the life-giving Son of God will destroy Satan and all of his works at the very End. And Heaven will come to earth--never to leave.
On the other hand, when God moves to judge the "world" as in Revelation 3:10, a different Greek word is used--oikoumenes. In this instance, "world" refers to the Beast-following inhabitants of the earth.