Freeman is a more complex hero, whereas Link is simply a good guy. Which, in all fairness, makes Link the better hero. He never does anything wrong, just good. Maybe Freeman only made one costly mistake, but it's enough to make him imperfect.
Link never do anything wrong? What about when he let Ganondorf into the Sacred Realm in OoT? You know caused the destruction of a town and the deaths of many people. Plus not to mention him running around the people turned into spiders and hitting their soft spots. Also he never kept his promise to marry Ruto.