You can avoid creating system reserved partition. But it's not easy.. Also it works only if you create new partition using setup wizard - this mean, if you leave HDD unpartitioned, system reserved partition will be still there.
Original method can be found
here, needed patches
here, and reopened
here for Windows 7.
Inside boot.wim image 2 (Windows setup) locate winsetup.dll. This file have responsible code inside. We are looking to function
Callback_Createpartition that needs to be patched.
This is tested for Windows 10 20H2 (10.0.19041.630). Open file winsetup.dll in HEX Editor, locate offset 10E3CA and change 0F 84 to 90 E9. Thanks
abbodi86 for transplanting Windows 7 winsetup.dll patch to Windows 10.
In different file version it should be located on different places. I have no idea how to patch it dynamically as it's not mu cup of tea. Maybe
nuhi can do it as nLite have some patches, like uxtheme.dll