OpenGL just plain didn't work with the hybrid/switchable mode in the past. You'd always get integrated graphics, and users had no options available to fix it. Many OEMs provided BIOS updates that allowed forcing use of the high-performance graphics for all programs. I think it is called fixed mode in BIOS. AMD has since added per-application settings in Catalyst Control Center, and has improved the feature a few times since its introduction. As far as I know, they have never tried to give developers control yet. You can try to guide your users through the BIOS and CCC options. I know that is non-ideal, but it is what it is.
Keep in mind some driver versions reported the integrated GPU name even when you were using the dedicated GPU. Checking actual OpenGL support levels and such should tell you which GPU is active for your program. This doesn't fix anything, but it might help you diagnose things or whatever.
Honestly, it's hard to even tell what the actual state of the matter is. Users report things still don't work, but sometimes you find it's because they had old drivers or new beta drivers that broke something or whatever else. It is an absolute mess, but it is getting better. Just look at where we are now compared to a couple years ago.
Note: anything I said is quite possibly outdated, so don't just assume it is right. If this is an important issue for you, contact AMD through the developer channels to see if they can give you more insight on what your current options are, what options AMD plans to provide in the future, etc.