I'm going to refrain from Apple bashing (I refuse to buy their products, let's leave it at that), but as someone who generally gets their way with customer service I have a few tips to offer.

Be calm and be firm. Every time you get on the phone with them or go to the store, mentally tell yourself that you are not going to leave or get off the phone until you get what you want. Don't be unreasonable, but don't be so reasonable that you wind up settling for something you don't want. It also helps if you get into their shoes and try to put them into yours - "If you were in my position, would you think this is okay? Wouldn't you want someone to help you make it right?" Don't be afraid to tell them you're frustrated or that you're flaming mad, but don't yell or freak out because that tends to turn them off.

Also, if you go to the store, don't bring your SO, do your best to smile, and try to speak to a male service person. It may sound silly, but men are more inclined to help a woman out than woman to woman or man to man.