Which merchants pay best?
Solution 1:
Edit: I've been informed this has been patched and can no longer be performed.
In short, the merchant at "Odrin and Friends - Bottlemen" in Novigrad. Here's the long of it:
Most merchants are very stingy when buying your loot. There are a few merchants though that buy at 100% of the item's value. So a stack of junk that may usually be worth only a few dozen crowns is now worth several hundred. But the catch is these merchants have limited funds and replenish those funds slowly.
However, there is one such merchant that you can pump up his crown supply at no cost to you and fairly quickly. His shop is "Odrin and Friends - Bottlemen." It is outdoors on the docks on the north side of the central Novigrad island. The closest fast travel sign is Hierarch Square, which is still a while away.
This merchant buys anything and everything (even monster trophies and foreign currency, but not quest items) at 100% of the item's value. He has 500 crowns to start. He also sells about 230 Empty Bottles at 1 crown each.
An Empty Bottle sells for 1 crown to any merchant willing to take it. So buy a bottle from the Odrin merchant, sell it to another merchant, and you break even. His Empty Bottle supply replenishes completely each time you exit his shop and reopen it. (I have found it stops replenishing when you have a few thousand bottles in your inventory. Getting rid of them causes his supply to return though.)
When he runs out of crowns after you sell your junk to him, buy his Empty Bottles, sell more stuff, exit his shop, reopen it, and repeat to the point where you have sold everything for 100% of its value.
At this point you should have hundreds or thousands of Empty Bottles in your inventory. Each worth 1 crown. It can be difficult to find a merchant to dump them all on in order to exchange them for cash. For this part, you can go to the Loan Shark near the Oxenfurt Gate fast travel sign. Dump them all on him.
When he runs out of crowns, buy his 500-1500 florens to add 1500-4500 crowns to his supply. His stock of florens also replenishes when you exit and reopen his shop, so you can use the same trick here as you did with the Odrin merchant.
Finally to get rid of the florens, go to the Vivaldi Bank by fast traveling to Hierarch Square and exchange them for crowns at the same rate as what you bought them for.
Solution 2:
In a really cool feature that I've been wanting to see in more games, people will purchase items related to their trade for a higher price, even to the point of not purchasing unrelated items!
This leads to smiths paying a higher percentage of the "inventory valuation" for armour/weapons, herbalists paying more for herbs and alchemical ingredients, and... Actually, I'm unsure about that one book seller.
There are, for a few reasons, some merchants that are almost "best in class" for selling stuff:
For weapons and armour, I have found that the smiths in Novigrad pay a good enough proportion and have sufficiently high cash reserves to make selling weapons and armour to them sensible.
In versions prior to 1.12 (as described in my answer here), the alchemist near Oxenfurt Gate (NE of Novigrad) will pay the full inventory value for items, including trophies - his downside being the relatively low amount of coin he has on hand. It does regenerate slowly over time, and you can buy his stock (curse his reasonable prices) to get a little more.
Solution 3:
If you want to buy and sword than you will find a better price at a blacksmiths than an armourer and if you want armour then you will get it at a better price at an armourer. So if you want to sell a sword for example, sell it at to a blacksmith. If you want to sell armour, sell it to a armourer. Selling herbs? Sell it to a herbalist and so on.