Какой алгоритм предпочитаете для проверки целостности данных/файлов?
Зависит от ситуации. Иногда достаточно md5, иногда и sha512 может не хватить.
md5 и sha1 взломаны
Это чушь!
Хэш это некоторое число ограниченного размера, полученное в результате применения специальной математической функции к определенному набору данных.
Любой хэш имеет коллизии - одинаковые значения хэша, при разных наборах хэшируемых данных.
Различается лишь вероятность возникновения коллизий, и равномерность их распределения.
можно "сломать" файл и хэш при этом не изменится
Это говорит лишь о неправильном применении хэша, а не о проблемах конкретного алгоритма хэширования.