Where are you placing in your races? Hopefully your coach is entering you in heats with guys between 4:50-5:05. I've found that you are going to make the big breakthroughs in time by racing, not trying to hit splits for a whole mile. Next time before you start a race, know who the other guys in it are and what times they have run. If you have a 4:50 guy in there, then just run on his shoulder. If with 400 to go you feel good enough to go around him, then do it. It might actually be a good idea to ask your coach if he/she could not tell you your splits, that way you are not adjusting your effort in order to run a certain time for the next piece of your 1600.
Most people who have been running long enough have dealt with these sort of barriers, and believe me I ran between 5:00 and 5:05 a lot, and I did it in just about any way you can imagine. I have a feeling that if you just forget about the time your running and work on beating the people around you then you will end up doing some good stuff. Good luck.