Tengo un dominio, digamos que sitio.org... cuando creé el sitio en el cpanel de mi hosting me dio una url temporal: sitio.mihosting.com y lo usaba para probar mientras lo desarrollaba.
El desarrollo tomó un tiempo y antes de terminarlo G lo indexó. Luego el subdominio siempre ha estado mejor posicionado en G que el verdadero dominio. Para no perder posiciones no he tocado nada suponiendo que con el tiempo sitio.org iba a subir más que el subdominio, pero luego de varios meses no ha sido así.
Prueba con este código, lo uso prácticamente igual para que si alguien entra una web sin las www, las ponga. RewriteCond %{HTTP_HOST} ^sitio.sitio.org [NC] RewriteRule ^(.*)$ http://www.sitio.org/$1 [L,R=301]
Parece que no tienes un problema de posicionamiento sub.domain.com vs domain.com. Sino que el más antiguo es el que está más arriba. También puede que esto te esté lastrando (por contenido duplicado) y "merezcas" una mejor posición. Sigue los consejos para redirigir la dirección inicial a la brandable y cuentanos como quedas.SEO + Dominios