It can't be feasibly done at installation time because driver updates can interfere with the way the shader compiler will do codegen. Implementing compilation during installation time would be a very minor improvement when the user can change drivers or hardware at will easily thus compilation may inevitably get triggered again at bootup or during gameplay. Can you imagine how annoying it would be to have new driver xyz just after you finished installation and before you even booted up the game to have to wait again ?
This is certainly true, although I guess I don't understand why the below isn't more universally adopted, as it seems trivial from a coding standpoint.
Upon launch of the game, when it's detected that a hardware or driver change has occurred that will require shader recompilation, just show a quick dialog box before entering the game:
"Due to a change in hardware or graphics card drivers, shaders must be recompiled for optimum performance.
Press A or the spacebar to recompile the shaders now. This will result in the best possible performance, but will take about <int_EstimatedCompileTimeMinutes> before you are able to play.
If you wish to play the game immediately and let the shaders compile in the background while you play, press B or the backspace key, however this may result in occasional performance drops as the shaders compile.
Note: If you change your mind and later wish to manually trigger the full shader recompliation for optimal performance, open up the Settings menu, go to the "Graphics" tab, and click the 'Trigger Shader Recompilation' button.
Hint: While the game is compiling your shaders, feel free to hit alt-tab and do something else with your PC, or even go grab a coffee!
Don't worry, we'll play a notification chime and send you a popup in Windows' notification area when the compilation is finished so you know when to come back to the game and enjoy with the best possible experience. It's worth the wait!"
Simply giving people the agency to make that choice will cut out 90% of the noise. Both sides of the camp get to have their cake and eat it too, and for the ~90% of gamers who aren't super familiar with rendering technology, they also now no longer will feel the need to complain that the game is 'broken' if it either stutters, or sometimes takes 10 minutes to load up after a driver change, Detroit: Become Human-style. Whichever thing bothers them the most (stutter, or increased wait time before they can play), just tap the appropriate button, get exactly what you want, and everyone's happy.