It seems like you are able to linearize first with just the 21-step target and then fine tune the shape of the curve afterward with gray_curve="0;0 x;x x;x ... x;x x;x 100;100"
If you are slicing the scale to 1/100 I would recommend using an average of multiple measurements. You would be surprised with the variation in the reading (at least i was). I use an average of 6 measurements for setting the overlaps and linearization (only 21 steps). Usually that is fine, but I had one that was a little too dense in the shadows and I brought the highlights down and the shadows up with the gray_curve=" " line. Not much, but enough to match the contrast of a different paper I profiled earlier in the week that had a little more pop.
All that being said, there are a lot of people out there that are much smarter with programming, engineering, and math. I don't actually know how the behind the scenes curve creation functions are doing the math (and I never really bothered to ask specifically), but just that I have messed with it enough over the years to find out what works to make the best print.
Richard Boutwell