1. Проще вынести логику в скрипт чем модифицировать запросы. Я как-то давно построил такой Geo-aware бекенд, работает без перебоев уже пару лет.
2. Shuffle не имеет отношение к множественным ответам, а просто к порядку их возвращения (no shuffle: А, Б, С; shuffle: С, Б, А,)