Hi Enea
great you have got 3 weeks to spend, I'm sure you'll have a great time. One thing I was thinking of in terms of your itinery is what your interests are?
If you are into the cultural/historic side, including temples/shrines/gardens, then I'd consider more than 3 days in Kyoto. I spent 4 days there on my first trip in 2003 and managed to see the big attractions without being too rushed. I spent a week there in 2008 and really was able to see most of the remainder I wanted to, including a day trip to Nara.
I also spent a week in Tokyo, which was long enough that I felt I'd 'done' the city. Probably should have gone for a day trip to break it up - you could do Nikko (I'd been there on a previous trip and didn't fancy a return). Tokyo's great if you like the more hi-tec urban culture of Japan.
Okayama and Kurashiki are probably worth dropping. Kurashiki is nice, but there are better places. If you like castles, then Himeji is worth a visit. I did it as a day trip on the way from Osaka to Hiroshima. Miyajima is a fantastic place. You could consider an overnight stay there so you see the shrine at high and low tides, but there's not a great variation of things to do on the island, so check that you will be entertained - perhaps this is the place to try a Ryokan?
Hiroshima is a very sobering place to visit, but you can see the main parts easily in a day.
Hope this helps
Amos