Are you keeping the watch in altimeter or barometer profile?
If you're in baro profile (the pressure graph across the display when in alti-baro mode) it will track barometric pressure changes for what they really are and your altitude should not drift.
If you're keeping your
core in altimeter profile (the big numbers showing altitude when in alti-baro mode) then it's interpreting barometric pressure changes as altitude changes, hence the drift. If this is the case there's nothing wrong with your watch and no, another watch/altimeter will not do a better job.
It's just the reality of barometric altimeters. When properly calibrated to either current local pressure or recently calibrated to a known altitude, they're more accurate than a
gps altitude. However, drift will occur in response to baro pressure changes and that's just the way it is. Even state of the art aircraft altimeters need to be calibrated with local baro pressure to be accurate. That's the main reason your local airports report current baro pressure.
Oh yeah, you could try leaving your watch in the "auto" profile. That automatically switches between altimeter and barometer mode as necessary. It's not gonna be 100% calibration-free, but should result in less drift.