Вы сказали, что не хотите использовать условные операторы, но они очень рекомендуются и лучший способ пойти. Основной причиной является удобство обслуживания, взломать браузеры CSS часто трудно следующему человеку или вам, несколько месяцев спустя, понять. Наличие не взломанного CSS в совершенно отдельном файле значительно облегчает управление.
Я бы очень рекомендовал, чтобы вы не выполняли анализ пользовательского агента, это вызывает множество проблем, например, многие браузеры сообщают о себе как IE, даже если они не являются (по умолчанию в Opera 7, я думаю). Строка User-Agent не заслуживает доверия и должна использоваться только в качестве крайней меры.