Ad 1. Ja osobiście pracując z React używam zawsze transpilatora babel więc i tak de facto generuję kod do ES5, gdzie nie ma let/const. Jeśli chodzi o sam brak wsparcia dla let/const to jest to tylko jeden z problemów, w ES6 wprowadzono znacznie więcej więc takie wyrywkowe analizowanie kodu nie ma wg mnie większego sensu. Zainteresuj się babelem i np. webpackiem i po problemie :) Webpack pozwoli Ci też od razu ładnie wypluć odpowiednie polyfill itp. więc ogarniesz tym samym również np. Promise itd.
Ad 2.Kolega @Mikołaj Kawczynski wyjaśnił Ci kwestię ustawiania wielu zdarzeń, ale ja jeszcze dodam od siebie, że unikając onClick ładnie separujesz poszczególne warstwy, czyli HTML zostaje jako treść i semantyka, CSS jako layuout i animacje (tak, dzisiaj większość animacji ogarnie się już bez JS) i JS do obsługi ogólnie pojętęj interakcji, zdarzeń itp.
Ad 3.To zależy. Właściwość position:absolute i display:flex to nie są rozwiązania alternatywne i służą do innych celów. Posycjonowanie absolutne w wielu przypadkach jest przydatne ale trzeba to stosować z rozwagą, pamiętając o RWD i testując wygląd aplikacji na różnych urządzeniach. Flex dzisiaj jest myślę już standardem. Osobiście też stosuję go w obecnych projektach i szczerze mówiąc nie przejmuję się zbyt mocno na prawdę przestarzałymi przeglądarkami, no chyba, że miałbyś odpowiednie zapisy w umowie ale to już inna bajka.