Are you scuff sanding the old finish? Do that first. Probably start with a 180 grit stearated paper, then go to 220. That gives the new finish something to which it can bond. Make sure you get rid of anything you've done on top of the old finish. Follow that up with 3-5 coats of thin shellac. If you mix your own, probably a 2lbs. cut, maybe as thin as 1.5lbs cut. If you buy it in a can (get the good Zinser Bullseye stuff - it shouldn't have any ammonia as a solvent, just denatured alcohol), thin it probably with 1/3-1/2 denatured alcohol. Make sure it hasn't passed it's use by date - it should smell slightly sweet. It always reminds me of apples.
After that, you can do just about anything. What you need is a barrier coat between the original finish and the new one, and while there are high-tech things out there that claim they can do it, shellac sticks to just about everything (it even works to stop silicon contamination, and does so without contaminating all of your spray equipment for the rest of time, unlike Fisheye Flowout!). If you try it and it doesn't work, you either didn't do a very good job of sanding, or your shellac is old. Go find some fresh stuff (or make it yourself, though since Zinser came out with a quality shellac I don't bother anymore. It is still a better product, but not enough to make it worth the effort and time.)
Honestly, it sounds a lot like the problem you are having might be silicone contamination. Have you been using furniture polish on your guitar?
Remember the key to all good finish work is the same - the early prep work will determine the quality of your final product.
Gabriel