It's less about how to make them and more about how to measure it.
It actually is a valid method to freehand something and repeatedly check it against gauges until it matches. Since that's so time-consuming and skill-intensive you don't want to do that except to make things in the initial stages, and usually only to make gauges or tools that will obviate the need to repeat similar processes in the future.
So the trick isn't actually how to make "the thing". The trick is how to make the first gauge when you have no gauges to verify it with, and how to verify that all subsequent gauges are good.
The reason that 3-plate method is so important is that it lets you make the first gauge without needing another gauge to verify it. From there the process is mostly using that first gauge (and any other gauges you may have accumulated) to verify if your new gauge is good or not.
Do you know how to measure if something is parallel?
You place it on a surface plate and run a probe along the top face at a fixed height and see if it is actually the same height everywhere. Nowadays, you probably use an indicator mounted to a transfer stand (which will measure the variance in height):

http://www.tool-precision.com/kpt-62.htm
Or even a coordinate measuring machine (which will measure the actual height):

https://www.sinowon.com/micromea10128-moving-bridge-scanning-coordinate-measuring-machine
However, these bely what you actually need: You do not need to measure (i.e. quantify) the height to do this. You do not even need to measure the variance in height.
In the most primitive approach, your hands can feel the resistance decreasing, increasing, or staying due to the height decreasing, increasing, or staying the same as you run it along the surface.
Therefore, you need is a base, a vertical beam, and a sharp horizontal point that can be mounted on the vertical beam at any height. A so-called surface gauge:

https://www.starrett.com/category/111601
Now, you could then freehand and continuously check it until it is parallel. But from what I said above you can probably extrapolate that a much easier method in this case is to run a cutting tool at a fixed height similar to the probe. But if you so desired, you could freehand it to shape it. What you can't do is freehand the measurement part.
You use this to build your parallels. The longer you make your parallels (which also requires making a larger surface plate) higher the resolution you can check for parallelism.
Once you have your parallels you can start working on squares. For initial checks, you choose one arm of the square as a reference edge and align it to the parallel and trace the vertical edge. You then flip it and the more square it is the more closely the mirrored vertical edge will overlap/be parallel to the first traced vertical edge. Again, the longer you make the arms the more resolution you will have to check for squareness.

https://www.wikiwand.com/en/Square_%28tool%29
Later on you can also do things like mount parallels vertically on a surface plate and run a height gauge on the "unfinished ends" until they read a constant height above the surface plate. At that point your parallels now have ends that are square to the length.
From there you can then mount a horizontal parallel (that does not necessarily need square ends) on top of a vertical parallel (that does have square ends) and run a probe along the length of the horizontal parallel to check if it's height above the surface plate is constant.

https://www.hobby-machinist.com/threads/magnetic-cylinder-square.74800/
Also, from having parallels with square ends, you can now now make devices sit on the surface plate and run up and down vertical from the surface plate to more quickly check for squareness without needing to do something like mount two parallels together. But this is not strictly necessary. It's just really convenient.

http://www.tool-precision.com/kpt-sixty-two-a.html
At that point you have squares and parallels with square ends. Only then do you start worrying about making a gage block which is parallel, square, and of a particular dimension. Because dimensions are arbitrary. Parallelism and squareness (and by extension cubes), are not.
You would check the that the dimensions of a cube are all equal the same way you checked for parallelism by checking for constant height above a surface plate. And if it was the beginning you could just make any cube, as long as it was a cube and declare that as your unit of length. Because dimensions are arbitrary. Parallelism and squareness (and by extension cubes), are not.
As a result, dimensions tend to be least important thing. Geometry tends to be far more important (parallelism, squareness, roundness, flatness). A gauge block where the dimensions are a bit off but where the ends are parallel parallel is still useful, but a gauge block where the ends are not parallel is useless.