in genere l'attributo @media funziona bene, inoltre i nuovi dispositivi mobili supportano anche media queries. mi sembra strano che hai simili difficoltà. E' più normale invece che il problema non sia il dispositovo ma il browser usato dal dispositivo per visualizzare la pagina non risponda coerentemente alle tue configurazioni. Mai hai fatto delle prove in merito?
Comunque esistono sempre metodi in PHP, piuttosto che in altri linguaggi che permettono di determinare bene che dispositivo si è collegato