Design a cover over the isp header that toggles the switch when it's opened or closed.
Damn.. If they don't make those already, they should.. or not necessarily a cover, but a shrouded header that has an extra sense line for insertion, much like the audio jacks.
As for the OP's circuit, it will work fine, as long as the top of R1 is also connected to ICSPVCC. That schematic is a mess, and I can't tell. There's no dots for connections, so I can't tell if a wire crosses or connects, especially at that junction of D1, R1, Q1 gate, and drawing the Diode outline on top of the wire doesn't help either.
I drew it clearer below. I think it's the same as yours but it shows the junction dots, and it's easier to read.

You could also simply use a 3.3V zener on the ICSPVCC line,and just make sure you current limit it enough, but not too much to starve the MCU. Or put a 3.3V zener on the ETHV+ line and again current limit it enough so you don't overheat the zener, but providing enough current to the device still.