Have you tried underclocking though? Sometimes it's a heat buildup you can't see - or the memory has just gone bad(ish). I have an old 7800GT laying around that doesn't overheat but won't run stable at stock any more - the GPU/memory clocks have to be dropped 5% or so for it to run properly. It's worth a shot at least.
Z170A Gaming Pro Carbon | 6700K @ stock for now | 16 GB | GTX Titan X | Seasonix Gold 850 | XSPC RX360 | Heatkiller R3 | D5 + RP-452X2 | Cosmos II | 480 + 240 + LSI 9207-8i (128x8) SSDs