First, ask yourself how critical having a top credit score over the next year is for you.
Closing an account isn't going to make your credit bad, though you might lose a few points if it's your oldest account. But it doesn't matter if you don't plan to mortgage, refinance or get a car loan in the near future.
I would cancel the card. The only reason I might consider keeping it open a while is if I was planning to refinance or something in the next month or two. (And even if I were, I'd still consider cancelling). To me it's insane to pay crazy fees just to increase (by a little bit) a credit score. While I'm a responsible consumer, don't pay late or anything, I've stopped making decisions based on what it does to my credit score, I used to assume it was soooo important to get every point possible, but it's not. Pay your debt. Be responsible. Don't pay fees just to save a couple of points.