One idea which comes to mind is to have a 'performance test' built into the game. This is something I'm doing in my current title.
For example, in my game, if you go under options/graphics, there's an option for high/med/low...and auto. Auto will spawn a couple test sequences, testing logic and gpu performance by measuring the fps avrg.
Of course, you could make this transparent by running these tests during downtime (intro sequence, title screen, level loading, etc).
Since you can't directly tell what hardware the game is running on, you have to approximate. Running a logic test -- some sort of arbitrary algorithm, escalate a loop until the fps declines -- and then a graphics test -- spawn sprites and animate them til fps declines -- would give you a measure of the discrepancy between the two. High logic/low gpu could mean iGPU...or it could mean malfunctioning drivers. So, in that case:
'You have integrated graphics don't you? If not, something is wrong...if you have a laptop and a nVidia GPU, you might want to google "nvidia optimus problems".'
PC gaming has always been a PITA...just gotta keep working around it...