In the past a console generation was 4-6 years. Nintendo was right on time with the Switch. The screwed up timing comes from Sony and Microsoft. They are acting like a console generation is 7 years now, but no one is really buying Microsoft hardware right now. I'm still not sure if Sony can get away with a 7 year generation for PS4 yet. Sales are falling fast this year, and interesting games are drying up. PS4 software was much better last year, and Sony skipped E3 showing they don't have much else planned for the PS4.
So Sony and Microsoft have created this hole in the gaming marketplace, and Switch just happens to have released at the perfect time to take advantage of this hole. Most likely 2019-2022 will be total Switch domination. There is very little competition for Switch from the current consoles and by the time PS5 and Scarlett release it will take them time to ramp up. Switch is going to have most of the generation with almost no competition.