MAC address seems the most logical. But it is strange that Google doesn't use the totally different route to the routers as a signal to reset the position and calculate a new location. Maybe you should switch on the GPS for a short period and see if Google updated the router location after the GPS has been switched off again. In that case they are using temporary GPS positions as calibration values for the router location.
I am assuming that the original ISP is selling/pushing information to Google
I don't think it is a commercial deal. I am experiencing the same type of GPS-less Android location tracking in Kazakhstan and I am quite sure that the state-owned telephone company here doesn't have any commercial agreements with Google on this issue.