Its a very common misconception among people, who have just begun to take poker serious, that its difficult to beat the worst players in the game, because they are so wild and unpredictable. But its actually just the other way around. The better your opponents play, the less edge you can find, and maybe you are even the "fish" yourself, if they are actually better than you.
To win a freeroll you need to do exactly the same thing, which you need to do to win any other tournament. Play a fundamentally sound game and get lucky several times in key spots. Have you QQ hold against TT. Have your AJ beat someone with KK. Have the nut flush, when someone have a lower flush. Have a set, when they have top pair.
There is a ton of luck involved in winning a tournament, and if for instance 1.000 people play, then maybe a very good player can hope to win 1 in 700. Its not 1 in 7 or 1 in 70 as many beginners mistakenly tend to think. And since most freerolls tend to have very large fields, nobody are going to win them very often at all. Thats just the way, the cookie crumples. And its also why, if its one of those freerolls, where 2.000 people compete for 100$, then maybe you should just forget it and spend your time on something more meaningfull.