I must warn that this approach isn't as simple as others, but it is very generally how sites like eBay and etsy work..
You have to decide on a simple metric (ie. what are you trying to achieve using this search), and measure the default sort you provide with how well it behaves according to his metric.
For example, if you are eBay and you are sorting items, you are mostly interested with one metric - purchase conversions. The percentage of users that end up buying and paying for an item.
This is a very simple metric to measure and eBay constantly tweak their search algorithm in order to return the items that are more likely to be purchased on top. eBay call their search algorithm (really a sort algorithm) "Best Match" and its specifics aren't disclosed.
The general approach is to give a numeric score for every item based on several characteristics, and then sort by this score. The score should somehow reflect how well this item is expected to behave according to your metric (ie. how well you expect this item to sell).
Taking the purchase conversions metric.. Here are some examples of characteristics you can use:
Item price - people tend to prefer lower priced items. For example, if you have 3 GPS devices with similar specs, give a boost to the cheapest one.
Listing upload time - to make the search results "interesting", it could be a good idea to give a boost to new listings.
Current purchase conversions of the item - if this is a multiple quantity item, you can measure how well it converts (how many people purchased from the number of people viewed, how many people viewed from the people which were shown this search result). This is an excellent characteristic since it reflects directly on your metric. You may not always have enough data for this though..
Availability - if you have a large quantity of a specific item, you can give it a boost in order to reduce stocks.
Keyword search compatibility - if the user searched using keywords, there are many ways to measure how much a specific item matches the keywords (ie. in title, in description, how many matches, how close are they, repetitions, etc.)
Listing end time - eBay tends to give a boost to auction listings that are about to end. Only relevant if listings can expire of course.
Limit the number of results from a specific seller - if a seller already has 10 results appearing, give their other listings a score penalty in order to make the results more "fair"
Give a boost to sellers you consider "good" - for example, eBay rewards sellers with high positive feedback percentage and high DSRs (Detailed Seller Ratings) with higher search positions
After you take all the characteristics you think are relevant and measure each one, you can give them different weights (according to importance). The formula you end up with is your "Best Match" algorithm. It is recommended to keep tweaking it according to actual behavior in order to optimize your chosen metric (drive up sales).
Also keep in mind that this formula can even be different for different parts of the site. For example, searches in the jewelry category are sorted according to formula A, and items in the electronics category are sorted according to formula B.
Regarding eBay, it's a good idea for a seller to optimize their listings for eBay "Best Match" in order to have their listings appear first. That's why many people constantly try to decode the algorithm. You can take a look at some of this research and get more ideas for the different factors. Here is one example: http://www.auctioninsights.info/decoding-ebays-best-match.html