i have never dealt directly with a bike shop in the situation, but every other time i have dealt with customer service representatives i have good luck. my tactics include.
1) get mad but don't yell. this only makes the situation worse but i express discontent and the possibility of them losing a future customer, they seem to remedy the situation quickly. you just always have to border on the line of blowing up or passing it off. this has worked for me each and every time. just go in with confidence like you own the world and don't take 'no' for an answer. pretend your king arthur and set things straight. explain how it has been a hardship and how you wanted to support them rather than go the cheaper/quicker route. hell, say it was a gift if you want as well to sweeten the story.
2) if that doesn't work, public smear campaign.