I've found the motivation to undertake this project with my willing subject, Tyronec. See attached example scenario file and the template file. Explanation for what I did:
Narrowed down a range of Soviet units x < 74, x > 0 (hex 0,0 is where offmap units are normally stored), and y > 20 (to avoid frozen leningrad units) in the units CSV file.
Limited units to all infantry, tanks, and fort zones.
Randomly modified 20% of x or y coordinates. X coordinates were only added to, and y coordinates were either added or subtracted from.
The value was a random value of a normal distribution centered at 0 with a standard deviation of 3.
I then manually combed the map for units displaced into axis territory. I think optimally stacked combat units would also be combed out and either returned to their original location or moved one hex.
This yielded a map with several nuanced yet meaningful modifications, including some better protected or better hidden soviet units that threaten the german who is not careful about reconnaissance and follows the cookie-cutter start. Stacked units in rough terrain may also force slightly different micro-decisions. We will report on how this goes after hopefully the first turn or two. I am happy to generate several different versions as well.
An alternative to this randomization, which may not necessarily favor the Soviet, would be to give a Soviet player a handicap of X numbers of armies and/or Y numbers of corps (by a point system). Units can be moved at will but must be in supply range of the static HQ.
Instructions for files: scenario file must be put in WitE/dat/scen
If you want to generate your own template, open the setup file (this may only work in Excel because of function names)
1. Into cell A6235, insert the function =IF(AND(H6235>0,H6235<74,I6235>20),IF(RANDBETWEEN(1,5)=1,H6235+ABS(FLOOR.MATH(NORM.INV(RAND(),1,3))),H6235),H6235)
2. Into cell B6235, insert the function =IF(AND(H6235>0,H6235<74,I6235>20),IF(RANDBETWEEN(1,5)=1,I6235+FLOOR.MATH(NORM.INV(RAND(),1,3)),I6235),I6235)
• Note that the floor function makes it so I had to use 1 as the mean value for the normal distribution instead of 0 in the norm.inv() function.
3. Click Formulas option > calculate now to re-generate random values.
4. Copy A6235:B7207 and paste VALUES into H6235:I7207.
• This replaces x-y coordinates with new ones
5. Delete columns A and B.
6. Sort now-column A from low to high. This now looks like a normal map CSV file.
7. Open the editor, open any full campaign scenario, export CSVs (into WitE/Dat/CSV, automatically)
8. Replace the units CSV file with the file we just edited.
9. Import CSV files into the map (last tab in the editor).
• This basically JUST replaces the units info with the modified randomized start.
10. Go-to map and check for erroneously placed units, as mentioned above, and edit the CSV if necessary.
11. Change scenario name, and save.