You should not use only one settlement has caravan hub, but several. Myself use Oberland Station as hub for 6 caravans, the rest of the caravans from the "farms" - meaning there are folks present already doing crops (I just added few settlers), none from settlements I build from scratch. This is done to prevent brahmins fills up the settlements/farms. Beside it also have something with the distance they need to travel from a to b. When it come to settlement happiness, the settlers who are assigned as caravan, they count as well.
You can build bar/restaurants, alot of tables and stools, so they have something to do/go to while taking a rest or something. When shops closes, they go to bars and restaurants in the settlements. If you don't have any, they walks around and happens they walk to roofs etc.. pretty annoying.
Cheers,
-Klevs