Waiting for E3 to announce the hardware has no real advantage vs. announcing it earlier. First of all you compete for the attention with all the other participants and you need to show both hardware and software in one and it can very easily backfire if the hardware is not on the likes of media without a real opportunity to really recover in time until holidays. By separating hardware earlier in the year and software at E3 you can either benefit from 2 rounds of hype or you can at last recover on the software whatever negative impact was on hardware.
E3 is quite a crunch period for the media, so if there is a misunderstanding somehow nobody has time to clarify it.
Plus Nintendo E3 presentations are not always good (see 2012 and 2015), so betting everything on E3 doesn't seem to me like the wisest idea.
Edit: Microsoft had the reveal in May and still didn't have time to turn around the negative image.