"...can I just book the flights now and do hotels and everything later?"
Yes, absolutely no problem with that at all.
"...is there a perfect time to book your flights in advance for the best price"
Not really. The following is just my opinion. If you were travelling at peak season (like cherry blossom etc) then prices are never going to be cheap and you would be better off - in my opinion - booking 6 months ahead to get the flights that you want.
Other than that, as long as you're booking at least three months ahead then you're going to get stable pricing and still have lots of availability to choose the particular flight that you want.
With the major websites like skyscanner, kayak or google flights you can set up an alert that will tell you when prices go down.
Another thing to consider is which day of the week you're travelling, Tuesday and Wednesday are typically cheaper than the weekend.
"...could they get cancelled/changed"
That's always a possibility. But that would be because of something major (like a war or, given that this is Japan, an earthquake) or something last minute like a typhoon or very bad weather.
In either case, taking out travel insurance that includes cancellation cover before you actually book the flight would be a good idea.