I hear your frustration but my solution is simple and works for me.
Generally I sell my items at a fair price with a discount already in place as I require people to come to me to purchase the item. I don't meet people anywhere. I won't budge from that price. I've asked people to leave when they played any games regarding money. I mean it.
Sometimes I list items as price is firm and additionally state so in the copy. I DON'T BUDGE. When they message me I remind them the price is firm.
I once spent a full year selling a new watch on Craigslist until I got exactly what I wanted for it. Eventually someone will come along and pay you what you want. Stick to your guns.
Another thing to do is always list things higher then it makes the buyer feel good when they haggle and you agree to go lower. Some people are just wired that way.
See I don't do that. I would have let those two stand on the street all day long picking apart everything wrong with the vehicle while I went back inside and watched TV. It's a $400 vehicle, not a $4,000 vehicle. There SHOULD be a level of common sense that says I'm getting a junk yard price here don't expect a very functional vehicle.
I would have countered with $425 for wasting my time.