2. Зависит от актуальности базы выбранного Вами сервиса
4. Можно, но всё-таки дать возможность юзеру изменить язык сайта
Для одного из своих последних проектов я использовал —
ipinfodb.com/ip_location_api.php, довольно точная и актуальная база, прикрутил кеширование что-бы уменьшить количество запросов и пока работает как часы.