as the poster above me stated, train to your strengths, and work a little on your weaknesses, not the other way around (don't focus on "correcting" your weaknesses, and only dabble with your strengths).
so so so SO many workouts, obviously no magic bullet. Joe Rubio's middle distance guide is a must to peruse (
http://img.runningwarehouse.com/pdf/middle_distance_guide.pdf
) but here's my takeaway from that one: race pace work, consistently, getting closer and closer to race pace AND distance.
so the progression would be 3x5x200m, on grass or dirt, at close to race pace or effort (as grass/dirt may be slower). equal+ recoveries (i.e., 30-45s between the 200's) and 2-3min between sets (but at a decent jog, like 8min pace, no slower). a week or two later, 2x8x200m, same concept. a week or two later, 3x4x300m. a week or two later, 20x200m. week or two later, 3x3x400m. week or two later, 12-14x300m. week or two later, 10x400m. week or two later, 5x 500m-200jog-300m. week or two later, 8x 500m. week or two later, 4x 600m-200jog-300m. week or two later, 4-5x800m.
really don't go past 800m on mile pace work, so taht's what I got out of the handbook, it's a good read, will take several days to really sink everything in, but a great resource to get you started in the right track. I followed a very similar training plan many years ago and made it into the sub4 range, 1500 wise, but it was a 5-6 month build to that point. had about 4-6 weeks of good racing in my legs, then that was it, was time to start over. perhaps I could have extended that time if i had a great strength/base behind me, but I was on low mileage from that coach. good luck