My personal preference is the Audioquest Nighthawk. I correct it's FR flaws using a 20 band EQ (Jetaudio Plus music player). It's impedance curve is uncritical - there are no bothersome effects considering the HTC 10 has an output impendance of approximately 4 Ohms. It was published on this Spanish site
https://headphoniaks.com/smartphone-iphone-6s-htc-10-meizu-pro5/
This fact should be mentioned when recommending the HTC 10 as a music player. For people using multi BA driver IEMs 4 Ohms of output impedance could be a no-go.
With Viper4Android (I use 2.5.0.5) sound can be altered in a positive way. I use just a few options frequently and to me they clearly improve the sound. With "Field Surround" the soundstage can be altered and the mid image can be improved. Using this option i get a bigger soundstage and a more "it plays in front of my head"-feeling. Viper Audio says that "Spectrum Extension" makes your lossy files sound lossless. It does really work well for me with all kind of music files. It makes resolution seem higher and instrument separation get better. "AnalogX" is supposed to imitate a Class A amplifier's sound. I do not use it with all music as it seems to reduce dynamics but it colors the sound a bit. Everything sounds smoother and warmer. It reminds me a bit of the sound I get with a good turntable or my tube amp.
There are plenty of other effects which I do not use. If there are certain aspects in the sound of your setup which you do not like, chances are you can tweak them with Viper4Android. There is a reason why V4A is called "the mother of all sound apps".