На сколько плохое предупреждение об устаревшем методе и как реализовать лучше?
реализовать лучше просто - пишите асинхронный код. Если не понимаете как - то распихайте везде async/await, в какой-то момент заработает. Но лучше конечно разобраться.
вы останавливаете всю работу пока не получите ответ, что нехорошо. В  $.ajax есть callbackИ - done() , success(). Они выполнятся, когда результат запроса будет получен. При этом выполнение самой программы не блокируется.

function getSettings() {
    $.ajax({
        type: 'POST',
        url: 'path/script.php',
        data: 'settings',
        success: response => {
// этот код отработает, когда запрос успешно зывершится
 console.log(JSON.parse(response)); },    
    });
});
}

$(document).ready(function() {
    getSettings();
//  в этом месте ответ от сервера еще не получен! А вы пытаетесь вывести его в консоль.
});

ответ подкорректировал )