On January 1st, do a search for players who's contract expires within 6 months, if you find anyone good and you want to sign them, give them a scout, and if they come back with good reports, then right click, and approach to sign... if the player is popular then a lot of clubs will be interested, so bear that in mind when offering them a contract, once you have done that, it's up to the player.
I've had loads of success getting player for free doing this, i've had Olic, Suarez, Sulejmani, the best free signing ever has to be Cristiano Ronaldo
EDIT: Or Raikan can post the exact same thing while i'm typing XD