It looks to me that the old coordinates are KKJ zone 1, with leading 15 (east) and 66 (north) stripped of. So a custom CRS with
+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=0 +y_0=-6600000 +ellps=intl +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +units=m +no_defs
should place your local data in the right spot near the town of Parainen.
If the "origin" has coordinates of zero, the custom CRS should be:
+proj=tmerc +lat_0=0 +lon_0=21 +k=1 +x_0=-70988.64475 +y_0=-6687581.87975 +ellps=intl +towgs84=-96.062,-82.428,-121.753,4.801,0.345,-1.376,1.496 +units=m +no_defs
Take care of the axis order. Your local and ETRS x is Northing, not Easting.
Your parameters look like 2D Helmert, as described in https://proj4.org/operations/transformations/helmert.html#equation-4param
Assuming that A is s*cos(theta) and B is s*sin(theta), you would have a scaling of 1.0003267 and a rotation of 5.22095676 degrees.
ETRS z is just local z + C (no scaling).
So you can use the new cct application from PROJ v5 like this:
cct -z 0 +proj=helmert +convention=coordinate_frame +x=239228.435 +y=6693404.951 +s=1.0003267 +theta=18795.4443 <Helmertin.txt >>Helmertout.txt
Note that theta has to be in arc seconds here.
GDAL and QGIS can not (yet) handle 2D Helmert.
If you prefer WGS84 coordinates, try for origin=zero
+proj=omerc +lat_0=60.2932290673 +lonc=22.2802811316 +alpha=1.119 +gamma=0 +k=1 +x_0=0 +y_0=0 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
and for stripped KKJ coordinates
+proj=omerc +lat_0=60.2932290673 +lonc=22.2802811316 +alpha=1.119 +gamma=0 +k=1 +x_0=70988.64475 +y_0=87581.87975 +ellps=WGS84 +towgs84=0,0,0,0,0,0,0 +units=m +no_defs
which is less than 1 meter apart from the 2D Helmert transformation.
KKJ and omerc coordinates differ by about 5 meters, but I do not know the accuracy of your transformation parameters.
updating the proj string where adequate.
– Sorin RUSU Oct 25 '18 at 20:09