I would approach it from the endurance side. You sound close in times to me, but at a younger age. I started my junior year with Soph PRs of 59.7/2:14/4:40/10:08. I was more of a miler/2 miler at that time. Halfway through JR year my 800 PR was still 2:10 even though I'd gone through 800 in 2:14 in a 1600 without blowing up. Then I suddenly PRed to 2:04.8 and ran 56.0 in a relay in the same meet. By the end of the year I ran 55.02 in the open 400 (no blocks) and slight improvement in 800m to 2:04.6. I'd started the track season with 55mpw on 6 days and cut to low 30s by the middle of the year (that's when my speed jumped as we'd shifted focus to more speed). Other PRs as a JR were 4:31/9:53, both in non-ideal races where I think if the pacing was right I'd have been 4:26/9:45.
I ran 16:20 for 3 miles as a Jr on a hilly cross country course.
My senior year, my coach never bumped my mileage (I was more of a 1600/3200 type but my teammate was one of the best 3200m runners in the country so, since I owned him in the 800, I had to cover the 800m at our meets). My entire senior year I was trained like an 800m guy, never crossing 30mpw. I only cut my PR to 2:02.5 and did not improve my 400m. I believe running more mileage would have made sub 2:00 easy for me. I ran 4:23 for the 1600 and improved my 3200m to only 9:50. To contrast, my teammate who was doing the 3200m stuck with the 55-60mpw plan and dropped his 3200m from 9:43 to 9:09, and though I always beat him in the 800m when we raced it, he did run a 1:59.5 in the 4x800m relay. This was a guy who had no speed at all.
I think you can easily get under 2:00, but I think you'll need more endurance. The difference between my cross country times and yours shows that you have a lot of room to improve your endurance.
Your 57 400m will probably drop if you keep doing some regular speedwork.
Oh, last data point, I always had pretty good acceleration and would whoop the other distance runners if we did anything like 100s, but doubt I could break 28 for 200m as a Soph. I started running low 26s as a Jr, right about the time I popped down to 55 low. As a Sr, I ran 25.5 once but was generally no faster than as a Jr. I think I'd maxed out my speed gains. I was built like a marathoner, 5'6/105.
Good luck!