Aisling McCarthy shone for Fremantle as they recovered from a poor start and made Geelong pay dearly for inaccurate goalkicking, winning by three goals.