Какой лучший способ передачи данных между PHP и Python скриптами?
Cокеты unix. (не TCP-порты!)
Вы изобрели микросервис :) 
А так решение хорошее. Возможно только стоит завернуть его в сервис.
И добавить менеджер очереди. 
1. запрос старт длительной задачи, отдаете taskid
2. запрос с taskid, выдает ее статус и путь к результату (опрашиваете с нужной периодичностью)
https://habr.com/ru/company/southbridge/blog/255845/
Если уж так беспокоит безопасность то прибиндите его на 127.0.0.1Смог создать сервер из script.py, который ждет GET запрос на порту IP:9090 и все работает приемлемо, но мне кажется это замусоренным решением и хочется верить, что можно как-то подружить скрипты на уровне процессов linux (и это быстрее, отказоустойчивее, проще в реализации)