To buy a player for free:
Get your first offer accepted immediately. A bid 3 or 4 million above the asking price is normally enough. Then go to adjust offer. Put the price down to free, then press Cancel. If the player joins you, you won't have to pay anything.
If you have a good player but he is old and going to retire, place him on the transfer list and when he retires, a young player will have his skills. You can have that player for free or buy him usually for a small price.