There are many ways to keep your fees at a minimum. The surest ways to maximize eBays fees are to do two things:
1) Do an auction at a high starting bid price, reserve and Buy It Now option,
2) Allow for auto calculated shipping at checkout,
#2 is certainly what happened for the shipping cost your buyer experienced. You have to really, really pay attention to your listing before you post.
To counter the two extortion tactics above, start your auctions at $1.00 and do NO RESERVE. I only do this if I KNOW the item will get bid up to an acceptable market price. Your fees are kept to eBay's minimum charges when you do that.
Goto USPS and look at their flat rate UPS priority or USPS Ground Advantage pricing, determine your package size and weight and look it up on their table. Then setup the shipping options based on a fixed price at checkout.