I've done some of this. Probably the best way of georeferencing old Ordnance Survey 6" maps is to use OS Grid coordinates (not grid references and definitely not lat/lon). If your map images are true, undistorted scans you might, with luck, be able to do this using just two points.
What I normally do is find two features on the map that still exist today, road junctions are good for this. Ideally, one of the features will be near (say) the bottom left corner of the map and the other will near to the top right corner of the map. You will now need the OS grid coordinates for these two points. You can do this by finding each feature in Google Earth. Zoom in on a feature and note its latitude and longitude, then do the same for the second feature. Then convert the lat/lon coordinates to OS grid coordinates using an on-line coordinate converter. The OS web site has one of these, but there are several others, this one for example. Just to remind you again, the coordinates have to be full six-figure eastings and full six-figure northings.
Georeference the map using the two coordinates, set the georeferencer to use Helmert and Linear, and set the Target SRS to EPSG:27700.
Thinking about it, on-line coordinate converters are a pain, you can use QGIS to do the conversions for you. In QGIS go Settings -> Custom CRS..., which will pop up a box like that shown in the picture. Ignore the top half. Copy the text shown below into the "Parameters" field:
+proj=tmerc +lat_0=49 +lon_0=-2 +k=0.9996012717 +x_0=400000 +y_0=-100000 +ellps=airy +datum=OSGB36 +units=m +no_defs
Then enter the latitude from Google Earth into the "North" field and the longitude into the "East" field. Then press "Calculate", which will give the the full OS eastings and northings for the point. Ignore the commas.
![enter image description here](https://i.stack.imgur.com/Yw7iJ.jpg)
In the example shown 471505.0083 is the easting (x) and 175224.7406 is the northing (y). For the chimney pot on my house, round these off to the nearest metre.
The coordinates in your gdal_translate command should be all positive.
The GCP list is, so I think this could be a bug of the GDAL script creator.
EDIT
I could replicate your error, and think that your use case is not the intended use of GCP.
In "normal" georeferencing, the GCP points map pixel coordinates from an unreferenced picture to projected or geographical coordinates. The pixel coordinates are relative to the upper left corner.
In your use case, you take projected coordinates from a georeferenced tif, and compare them to "correct" coordinates. The coordinates on the left side are not relative to the upper left corner, but to the origin of the projection. If you start the reprojection process, this information will be distroyed and replaced by the GCP information. This does not seem to work.
In the GDAL batch file, you can add -of VRT
to get vrt instead of tif files. You can open those vrt in a text editor and see that the matching goes terribly wrong.
Best Answer
Please read the documentation of the different transformation types:
... Therefore, no surprise that the image was not rotated.