Почему Unity3D рекомендует считывать ввод в Update, а не в FixedUpdate?
Потому что значения Input обновляются в Update. Если вы, например, завяжете какой-то код на Input.GetKeyDown, то он внутри FixedUpdate может сработать у вас несколько раз на одно и то же событие. Вы вообще подходите к этому не с той стороны, отзывчивость управления в любом случае будет зависеть от Update и того, что выводится на экран, если у вас фпс падает до 15, то надо игру оптимизировать, а не костыли придумывать.
Потому что Апдейт происходит каждый кадр, а ФикседАпдейт фиксированное кол-во раз, по дефолту 30 раз в секунду. 
Если ввод считывать в фиксированном апдейте, то он станет не отзывчивым.