AFAIK (and as far as I can tell from my own games) correctly specified civilian contracts override ordinary civilian shipping.
Setting up waypoints (infra from planet a to planet b, then b -> c, etc. ad libitum) would both make the civvies more likely to understand the order, less likely to go haring off into contested space on a "shortcut" and give them more money (which means less need to micromanage them with subsidies).
Incidentally, a smarter civvie shipping algo would be very nice, because IMO civvie shipping should consider whether there are more profitable routes available before taking gov't contracts. An offer setting, letting you specify how much you will pay for the consignment, would allow you to prioritize. This would also let you have a standby of "carry stuff from Earth to Luna and back again" order for keeping your shipping lines running if they run out of profitable civvie trade goods.
Of course, this will still be quite dumb, because the number of pathfinding queries grows exponentially in the number of legs it has to look ahead.