If anyone's having trouble navigating villager happiness and marketplace stock, I think this is the most effective way to do it -
Keep as much of your production buildings and granary/storerooms as close to the marketplace as you can. Trade building too.
Only have one marketplace, and increase its size as your town grows.
Designate a marketplace area with roads (a space that's big enough to hold 40 or so stalls), and for your first marketplace, make one that only has 3 stalls in it. When your town grows big enough so that those 3 stalls can't fulfill everyone (usually around 30-40 families), demolish the entire marketplace and remake it in the empty space with 6 stalls. Repeat as your town scales up.
If a food production person creates a market stall, change that family to work at a granary instead. If a firewood production person creates a market stall, change that family to work at a storeroom instead. If a clothing production person creates a market stall, change that family to work at a storeroom instead. Ideally you want market stalls to be staffed by storage workers, not production workers, since they have an easier time refilling the market stalls.
If you ever have problems with your marketplace, just delete it and remake it bigger.