They need to make it that so that both cities benefit from 1 caravan moving between them. Isn't that the essence of trade? Right now, the city that sends the caravan gets the bonus. If the city it trades with wants a bonus from that route, it has to send a caravan the opposite direction.
That's rather silly. Sure, someone should get the lion's share of the bonus, but they should both benefit.
If a caravan going between two cities gave the bonus to both, it would effectively double the number of trades a city could get with its three caravans.
I think that's the element of this has confused people for a long time. Trades only go one direction, which is counter intuitive.
If Stardock wanted to get very realistic, caravans should provide a bonus to every city along their route, with the home city and the end city getting the biggest bonus and every city in between getting some amount less.