+1 for 8bitdo Pro 2. Great third party controller. Sturdy build quality and feature set, with a nice retro-inspired look.
That said, the retro-inspired look does ultimately result in me not enjoying the ergonomics as much as the official controller but that's a personal preference thing. It looks PlayStation-esque but its flat face ends up not feeling quite the same. Absolutely not a deal-breaker despite not being my favorite ergonomically though, still a very good controller all around and the only non-arcade stick third party controller I've used regularly in several generations of consoles.
Keep in mind that third party controllers cannot turn the system on from sleep so you have to manually press the power button on the console itself before connecting controllers (it can put them to sleep, just can't wake them from it) and it can't read amiibo -- your best bet if you don't own the Pro controller is using the right joycon to read amiibo if you ever need to.
Also, pro tip for connecting the 8bitdo once you sync it to your console and after you turn the system on: the proper procedure is to turn your system on and then hold the Start button on the 8bitdo for about 2 seconds to initiate connection mode. Just tapping a button will typically not work. You'll know you're in connection mode once the LEDs start cycling. Once that happens, just let go of start and it'll connect. I thought my first unit was busted because I didn't realize it didn't fast-connect to the console with a press of a button -- I saw a quick LED flash on and then the controller would go back to sleep.