That’s pretty much where the idea is, making the linkage rigid makes the entire exercise pointless, and making the linkage a pivot point makes it very difficult. I’d love to be proven wrong about the second though.
The simplest thing I can think of for a flexible linkage is for the towed vehicle to rotate to face the linkage point, then advance to make contact if needed. Unfortunately this doesn’t solve the problem of backing up. Also it requires overhauling the vehicle rotation code to allow a wider range of rotations, I don’t think the existing selection of rotations is going to work very well.
What I’d thought of for overhauling rotation is to replace the current functionality where the vehicle pivots on its center with one where some wheels are designated as “steering wheels”, and when turning, the vehicle rotates such that the steering wheels move one square to the left or right of straight ahead, little illustration of wheel movements when the vehicle is facing north or NW:
123 23
S 1S
S is where the wheel starts, if the player is steering right, the wheel moves to 1, if steering left, the wheel moves to 3, and if driving straight the wheel moves to 2. So for example if the plaer is driving due north at 5 squares per round, and steers left for one round, the progression of the vehicle’s (front, steering) wheels would look something like:
5
5 4
4 3
32 2
1 1
S S
Basically the steering wheels pull the vehicle laterally, which drives rotating the vehicle, instead of just rorating the vehicle in the first place. I think this would make for smoother steering, but we might want to add something to handle different degrees of steering.