Trying to find replacement batteries for integrated batteries is a pain too, since might not be able to find an OEM replacement or battery from a reputable brand. So you end up having to go with whatever random no name battery that could be worse than the OEM battery and end up dying after less than a year.
My preference is rechargeable AA or AAA. And even better if the controller itself can recharge the battery like drone controllers.
Right now has to be the 8bitdo Ultimate 2 wireless. Not the bluetooth switch one. Need to update the dongle and controller to the latest beta firmware and launch it in dinput mode by turning it on while holding the B button. Then all the extra buttons can be mapped along with using gyro with analog triggers, which couldn't be done before.
There is a bug that needs to be fixed where rumble can cause the controller to stop working in game, so for now need to use it with rumble off until that is fixed. But, everything else works when it comes to binding through Steam Input.