This is not the best solution as the nvidia-xconfig doesn't fully optimize the xorg.conf. I am working on something similar to this, a new script to generate xorg.conf on every boot before starting X.
The main problem, especially with with those 19 GPU motherboards is that BusId is not correctly assigned with the static xorg.conf that we are using. On any mobo when adding/removing cards the Bus is changes... plus there are some busid numbers skipped (used for other PCIe devices) and it is different on all mobos.
The script will use lspci to find all nvidia GPU's and create new xorg.conf with proper busid values assigned and all other tweaks that nvoc uses. Hopefully this will fix the problems like booting into black screen with cursor, booting into pink screen, etc
https://forum.hiveos.farm/discussion/36/asus-b250-mining-expert
Actually that is a good picture in the above link showing the busid's. Note how the busid's (first column) are 1, 2, 3, then 6, 7, etc. nvoc's static xorg.conf uses busid's 1, 2, 3, 4, 5, etc. This is what I am trying to correct and create dynamic xorg.conf with properly assigned busid's. I am not sure if it will fix the problems with Asus B250 Mining Expert or not (I don't have this board, I will ask for beta testers once the script is done), but this problem of improperly assigned busid's affect most other boards as well (however, they still work because current nvoc xorg.conf has settings for 19 cards, not gonna go into more details here, it's a big topic), and occasionally nvoc will not boot or will not overclock some card.