En primer lugar debes de trabajar con un diseño líquido, cosa que se hace manteniendo las dimensiones de los elementos estructurales con porcentajes.
Normalmente haciéndolo así, ocurre el problema que mencionas, que en resoluciones reducidas se queda todo muy apretado. Para eso existen las
media-queries de CSS, donde puedes ajustar tus estilos según el ancho del navegador o pantalla del dispositivo. Es lo que viene siendo un diseño web responsive —RWD por sus siglas en inglés.