Иконки кластеров можно создавать не только из картинок, но и из элементов, а кастомизировать с помощью с css как душе угодно без особого труда.
Если кластеры не нравятся... Хотя, вам в любом случае нужен будет какой-то похожий алгоритм. Можно поделить на сетку, что и делает кластеризатор, и отображать только нужные ячейки, остальные убирать. При смене зума, правда, все равно нужно будет пересчитывать.
Можно выводить самим в слой, но это все тоже самое, что выше, только еще и за слоем надо будет следить, евенты ловить.
Но я все равно не могу понять, как вы будете разруливать конфликты при отображении — они же наезжать друг на друга будут... Как ни крути — нужна группировка. Группировка — кластер. Не нравится его вид — так он легко кастомизируется.
Самое оптимальное решение с точки зрения производительности и траффика - активные области
Но эта технология требует соотв. серверной части
Все ваши метки должны быть растеризованы на тайлах на всех масштабах, и также по-тайлово должно подгружаться описание пиксельных геометрий этих объектов.
Но поскольку загрузка данных идет по-тайлово, - можно кешировать такие запросы в отличии запросов по видимой области, где сдвиг вьюпорта даже на 2 пикселя приведет к запросу за новыми данными