I was a slow guy who didn't run the 1600 much until my senior year. I broke 5:00 a couple of times late in the season. Here are my thoughts:
1. The more you race it, the better you will get at it. Because I didn't run it consistently until my last year, I didn't have enough experience to know how to run it well.
2. My overall speed got better as I matured physically. If the body gets stronger by the natural aging process of adolescence, you will also get faster.
3. My coach LOVED 400 repeats. We were expected to run them all under 65 seconds. The sheer volume of these repeats over time helped with my speed development. I was no 400 runner, but so many of them acclimated me to running fast, and it helped during the shorter race than the one I was used to.
4. I ran all the time. It wasn't just running. I played every sport that was played in the neighborhood, usually getting to them by riding my bike. Those extra minutes on my legs made me stronger.
5. I hated to lose, and any runner over 5:00 was not going to win. Sometimes it boils down to having the guts to do it. Dig down and find those guts and you will do it.