Если вариант с несколькими CSS для Вас будет самым простым - его и делайте. Различия по браузерам можно разрешить на уровне веб-сервера. И nginx, и apache умеют парсить HTTP-заголовки, а значит, смогут определить user-agent, который в них передается, и отдать нужный css-файл. Это практически не повлияет на серверную нагрузку (ничуть не более mod_rewrite) и не повлияет на объем загружаемых пользователем данных, поскольку отдаваться будет всегда только нужный файл.