I was sub 4:20 and 9:20 senior outdoor year (no indoor @ my HS) My coach was an 8:53 2 miler and state champ so all I had to do was shut up and listen - not always easy for a 17 year old.
Winter training was pretty mellow: 40-50 mpw of just getting out and running. Nothing real specific except a long run (10 miles) with the coach weekly. Although I never timed these, he always did and by the end of the winter, we were running them under 60 minutes. Prior to that, my long run had been nothing more than 7, maybe 8 miles and never that hard. Those 10 milers did wonders for my fitness. Also, weekly 5-6 runs where I felt good and went hard were probably tempos, although we never called them that. No speedwork that I can remember until the season started, but I liked to finish runs where I felt good hard.
I did a ton of cross-training in the winter. Some weights, a lot of surfing, cycling and a little bit of moto-cross. The cross training was big for me, but it was all in moderation (well, all of it except the surfing maybe, we all have our vices). I remember coming into the season spitting nails and by default becoming the 3rd leg for our 4 x 400 relay until early May when the real athletes finally got in shape. I think that forced speed work in a race situation, as opposed to just running a hard 400 or doing repeats, was huge for me. The myrtle drills and any and all core work are musts. I really wish I would've known about and done these in HS. Adding them in college was tremendously helpful. Anything that helps your core I would recommend. Looks like you're putting a lot of emphasis on weights. I'd be cautious here. If I had the option of running an extra hour a week or lifting, I'd take the running every time.
Finally, once your season starts, there is no substitute for racing. I echo the earlier poster's comments about not going too hard too early. Wait for the season to really get after it. I know opinions differ here, but mixing up distances and doubling (and tripling if you're on the 4 x 400) in early season meets that don't mean a lot is fantastic training. If you want to run fast in the 1600, you've got run 800s. If you want the strength to bust 9:20, you're gonna have to double back after a 1600 or 800 and tough out a sub 10:00 3200.
Good luck and post back with results.