If you have Used the card allot, just call them and ask if you can have the annual fee waived for the year, I have done that with my AmEx cards, no problem because I use them extensively. I have tried it with other cards and it has been hit or miss, but if you get a 2nd year free isn't it worth asking.
Just make sure you tell them you are ready to Cancel the card when you ask, and be ready to follow up with the cancel when they say No (and that will be their first answer), also always ask for a supervisor, work your way all the way to the top if you can.
It may not always work, but its always worth a shot.