Daimon
Established
Some idea I already tried myself - still an experiment but haven't seen similar topic here so sharing my thoughts. I'm getting lots of very useful information on this board, thought I can try to share some ideas as well.
2 lenses required much different shim compared to the one already installed and I don't have other spares but I have a 3d printer so though I'd give it a try.
Model
Model is trivial - shim is just a cylinder with outer diameter and height and hole inside which is inside diameter.

3d printing precision
theoretical: depends on concrete 3d printer. I have very standard extruding printer - 4 stepping motors (x, y, z + material extrusion). Theoretical precision depends on stepping motor step size and gearing between motor and actual movement of nozzle. In my case minimal "Z step" is 0.04mm - i.e. shim thickness can be theoretically set to any value which is multiplication of 0.04mm. So if I want a shim which is exactly 1.02mm I'll get 1.00mm or 1.04mm
practical: in practice many other factors have to be taken into account. 3d printing is essentially precision pouring of molten plastic (240 Celsius in my case) which shrinks while it cools down. A lot depends also on material quality and printer calibration. It may happen that 1.02mm thickness model ends up being 0.992mm or any other arbitrary deviated value. But that's not a problem, can be taken into account during shimming process
3d printing time
once I got everything setup it took about 4 minutes to print ~1mm shim - much faster than "manual" cutting and can be used to prepare "any" shim
material
I chose PETG because from "cheap" materials it's the most temperature stable one, is elastic (does not crack) and pretty strong (similar to one from which plastic drink bottles are made - but if you increase thickness it becomes much more stiff)
process
PETG is more elastic than brass or aluminum - may be squashed a bit when lense is assembled. Prints also won't be super precise, expected shim dimensions measurements (50mm Jupiter 3 f/1.5 Information — Jason Howe - thx Brian 🙂 ) may be off as well. Instead of trying to print super precise "additional" shim we just replace original shim with a new one. Here's the process
1. Get current model shim thickness (first model is same as original lense shim)
2. Measure how much lense is off with current shim and calculate expected shim delta (amount of increase/decrease)
3. If delta is less than 3d printer precision (0.04mm for me) - use sand paper (it takes 4 minutes to print a new one so if anything is wrong start over) - if lense is fine, process can be finished here
4. If delta is bigger, apply delta to model (that's important, we don't try to print exact dimensions each time, just apply delta), print a new shim and go to step one
It took me 2-3 prints to get lenses exactly right once I figured out all the details. Here some printed shims from Jupiter 12 and Jupiter 8 fine tuning.

shim temperature stability
all materials shrink/expand when temperature changes. It's not only important during printing - we also want to ensure shim maintains its dimensions when air temperature changes 🙂 I used PETG which has one of best stability in "cheap" 3d printing world but it's still 3-4x worse compared to aluminium and brass
Theoretical values (linear thermal expansion coefficients):
PETG: 51-68 µm/m-K
Aluminium: 21-24 µm/m-K
Brass: 18-19 µm/m-K
So for 1mm thickness of PETG shim and a difference of 30 Celsius/Kelvin degrees in temperature we get:
0.001m * 60 µm/m-K * 30K = 1.8µm (0.0018mm) linear expansion
For practice check I used actual printed shim, marked measurement point (to make sure I'm measuring same area) and used micrometer:
"+27 Celsius" - average 1.178mm (from 5 measurements, 1.177mm, 1.179mm, 1.179mm, 1.177mm, 1.179mm)
Around "-15 Celsius" (my freezer) - average 1.176mm (from 5 measurements, 1.176mm, 1.178mm, 1.175mm, 1.175mm, 1.177mm)
0.002mm between +27 and -15 Celsius is negligible - actually I doubt my micrometer is precise enough to measure that value - it can be just micrometer error which was introduced by turning it off and on. Anyway that value is in the ballpark of calculated theoreitical value so it looks fine for both theory verification and actual usage.

2 lenses required much different shim compared to the one already installed and I don't have other spares but I have a 3d printer so though I'd give it a try.
Model
Model is trivial - shim is just a cylinder with outer diameter and height and hole inside which is inside diameter.

3d printing precision
theoretical: depends on concrete 3d printer. I have very standard extruding printer - 4 stepping motors (x, y, z + material extrusion). Theoretical precision depends on stepping motor step size and gearing between motor and actual movement of nozzle. In my case minimal "Z step" is 0.04mm - i.e. shim thickness can be theoretically set to any value which is multiplication of 0.04mm. So if I want a shim which is exactly 1.02mm I'll get 1.00mm or 1.04mm
practical: in practice many other factors have to be taken into account. 3d printing is essentially precision pouring of molten plastic (240 Celsius in my case) which shrinks while it cools down. A lot depends also on material quality and printer calibration. It may happen that 1.02mm thickness model ends up being 0.992mm or any other arbitrary deviated value. But that's not a problem, can be taken into account during shimming process
3d printing time
once I got everything setup it took about 4 minutes to print ~1mm shim - much faster than "manual" cutting and can be used to prepare "any" shim
material
I chose PETG because from "cheap" materials it's the most temperature stable one, is elastic (does not crack) and pretty strong (similar to one from which plastic drink bottles are made - but if you increase thickness it becomes much more stiff)
process
PETG is more elastic than brass or aluminum - may be squashed a bit when lense is assembled. Prints also won't be super precise, expected shim dimensions measurements (50mm Jupiter 3 f/1.5 Information — Jason Howe - thx Brian 🙂 ) may be off as well. Instead of trying to print super precise "additional" shim we just replace original shim with a new one. Here's the process
1. Get current model shim thickness (first model is same as original lense shim)
2. Measure how much lense is off with current shim and calculate expected shim delta (amount of increase/decrease)
3. If delta is less than 3d printer precision (0.04mm for me) - use sand paper (it takes 4 minutes to print a new one so if anything is wrong start over) - if lense is fine, process can be finished here
4. If delta is bigger, apply delta to model (that's important, we don't try to print exact dimensions each time, just apply delta), print a new shim and go to step one
It took me 2-3 prints to get lenses exactly right once I figured out all the details. Here some printed shims from Jupiter 12 and Jupiter 8 fine tuning.

shim temperature stability
all materials shrink/expand when temperature changes. It's not only important during printing - we also want to ensure shim maintains its dimensions when air temperature changes 🙂 I used PETG which has one of best stability in "cheap" 3d printing world but it's still 3-4x worse compared to aluminium and brass
Theoretical values (linear thermal expansion coefficients):
PETG: 51-68 µm/m-K
Aluminium: 21-24 µm/m-K
Brass: 18-19 µm/m-K
So for 1mm thickness of PETG shim and a difference of 30 Celsius/Kelvin degrees in temperature we get:
0.001m * 60 µm/m-K * 30K = 1.8µm (0.0018mm) linear expansion
For practice check I used actual printed shim, marked measurement point (to make sure I'm measuring same area) and used micrometer:
"+27 Celsius" - average 1.178mm (from 5 measurements, 1.177mm, 1.179mm, 1.179mm, 1.177mm, 1.179mm)
Around "-15 Celsius" (my freezer) - average 1.176mm (from 5 measurements, 1.176mm, 1.178mm, 1.175mm, 1.175mm, 1.177mm)
0.002mm between +27 and -15 Celsius is negligible - actually I doubt my micrometer is precise enough to measure that value - it can be just micrometer error which was introduced by turning it off and on. Anyway that value is in the ballpark of calculated theoreitical value so it looks fine for both theory verification and actual usage.
