Один из простых вариантов, берёте компонент SpriteRenderer у игрока и изменяете свойство flip на true or false. Заместо scale flip.
P. S делается скрипт слежки камеры за игроком и тогда не надо привязывать его как дочерний. А из-за того, что камера дочерняя к игроку, при scale.x = - 1,она меняет свои данные . И наведите больше порядок в коде, есть лишние строки кода - которые ничего не выполняют