Yo dude I have a soundblasterx g6 too, I had this problem too where the sound card disconnected and reconnected as an output devices everytime, I have resolved the problem by changing this setting in the soundblaster commander under windows.
There is no equivalent driver for linux, at least for what I know, but I’m trying my best to resolve the issue by reverse engineering it.
For the mic problem I use a bash script on startup that change the mic to the one of the sound card.