Eu não estou familiarizado com o WP Supercache, mas se você só precisa reescrever para index.php para evitar o cache, não deve ser muito difícil.
O seu filtro existente não é abrangente, pois verifica apenas o google.com e o google.co. De acordo com esta lista , existem muitos TLDs que o Google usa e que não correspondem, como google.de, google.fr, etc.
O filtro a seguir deve limitar você a referenciadores que comecem com o www.google e terminem com qualquer combinação de TLDs de dois a três caracteres.
if ($http_referer ~* ^www.google.[a-z]{2,3}(.[a-z]{2})?$ ) {
# do whatever you need to do here to avoid caching
}