I had the same problem when selling a bike via craigslist. I was asking for $800 for my bicycle and people would email me and offer $500 site unseen but I knew I the bicycle was priced appropriately because I had 4 emails in 2 days. Sure, most of them were looking at the $500 to $600 dollar range but there was a lot of interest.
I'm not sure why people start haggling the price before they see the item. The value of the bicycle varies based on condition and photos don't show a whole lot. People look for a deal on CL and consequently the competition which drives the price of the item closer to the the true value is not there.
I think that the key is getting the competition up just like on eBay. Let people know that other buyers are looking at the item and if they haggle, have some proof of the item's worth. If you can look up the value of a comparable bicycle(s) on eBay, you could use that as evidence. For example, If the bicycle would sell for $900 + shipping on eBay, maybe $850 or be enough incentive for someone to buy it locally and you'd save yourself the time and hassle of shipping the item.
If you think you can do better on eBay and think it's worth the difference, I would go ahead and sell it there. The bidding environment tends to bring out the true value... My bike would have gone for around $800 on eBay but someone offered me $700 and to me, the extra hundred was just not worth the hassle of trying to ship a bike. Once someone comes over and inspects the bicycle firsthand before giving you their money, the sale seems more final to me than shipping a bicycle to someone who could complain about things you may not have disclosed or damage that could occur during shipping.