This shit is endless. In a large company, someone's always leaving, having a birthday, having an operation, had their father die, getting engaged or married, going on long service leave or whatever. It can happen every week. Endless. Then there's the social drinks of a little group of people, and the boss's attempt at making a team by having everyone go out and get drunk each month, or play paintball, or something. Endless.
Before I was self-employed, I just said no. If I really liked the person involved, I'd give my own gift or take them out for dinner, etc.
As PowerMustache said, this has a price. When I announced I was leaving, the most common reaction seemed to be relief. 3 people gave me chocolates, or whatever, and another 2 asked if they could come with me. The other 100 or so didn't care or were glad. And in my years there I never had any prospect of promotion. But I always expected to go out one day and be self-employed so I didn't care.