Если у вас узкое место именно получение данных - можно вооружиться multicurl, и тогда мы можем паралельно делать несколько запросов. Обрабатывать результаты запросов всеравно придется последовательно, так что профит будет только в случае, если get запросы отнимают большую часть времени работы скрипта.
очереди задач. Скрипт добавляет на обработку задачи в очередь (так как у вас sharer хостинг, думаю штуки типа rabbitmq отпадают, остаются только очереди в базе данных или в reddis, смотря что у вас есть), несколько скриптов обработчиков забирают задачи из очереди и собственно работают. Правда если у вас нельзя выполнять и cli скрипты c set_timeout(0), то тогда этот способ не будет нормально работать.
ну и уж тем более раз уж речь о shared хостинге, взять что-то типа pthreads или pcntl так же не выйдет. Если выйдет - можно по настоящему распаралелить приложение и получить ощутимый профит.
JS так же делает это все дело не совсем асинхронно, просто в промежутке между отправкой и получением запроса вы можете что-то делать, но делаться все будет всеравно последовательно, никакого паралелизма из коробки, но там нету и ограничений по времени. Да и не думаю что если у вас есть возможность установить node.js то будет какая-то проблема и на php реализовать.