I just had a compact double crankset installed on my bike, and while my mechanic did his best to set it up, I'm having some stress-inducing front shifting problems with it. I'm hoping those of you with experience riding compact cranks can help steer me toward possible solutions.

First, here are the basic facts. My original crankset was a standard Ultegra double, 53/39, in a full Ultegra 9-speed setup. I just put on a Sugino XD-500 crankset with 48/34 Stronglight rings. I picked the Sugino because it seemed to be my best affordable option for getting really short crankarms (152.5). The new crank length and gearing seem to be working very well for me, so I would like to make this set work!

OK, here are the problems - both with the front shifting:
A) I'm dropping the chain A LOT (more than half the time) when shifting from big ring to small. I understand this is a pretty common problem when converting to compact. By practicing on a trainer, I now know which rear cog will minimize this problem, but I'm still dropping the chain so often that I'm nervous to use the small ring at all on the road.

B) The shift from small to big now takes a very hard push of the shifter. And frequently it "groans" during this shift.

Here are some specific solutions I've heard about - would appreciate feedback on any of them!

1) A chain deflector (Third Eye Watch, Deda Dog Fang). Do these things really prevent the chain from overshifting past the small ring? Because they're so cheap, I think I'm going to try the Dog Fang.

2) Adding spacers between the crank spider and small ring? If the chain is frequently shifting too far, does it make sense to move the small ring slightly further inward toward my frame? My mechanic says this can increase the risk of getting the chain stuck in between the rings.

3) Decreasing the tooth gap between the rings? If this would help, I think I'd be fine with either 46/34 or 48/36. I thought I was playing it safe enough by staying with the same tooth difference as I originally had. My guess is that this will probably help my shift from small to large, but I'm not so sure about large to small.

4) Get a compact-specific derailleur? I know that my Ultegra doesn't have the right curve for the new, smaller big ring. Would a compact derailleur help solve the problem of overshifting to the small ring?

Any advice in this area would be much appreciated!