There is a lot that is very good about your swing. I would offer that you should extend your arms further into the swing while bringing the bat directly in front of you.
This increases leverage and extends the time that the bat is in the hitting zone.
Watch Dimaggio's swing and observe the flight of his bat in his swing as well as his grip of the bat.
http://web.baseballhalloffame.org/media/player/mp_tpl.j...mv&type=v_free&_mp=1Observe also the elements of Williams' swing
http://web.baseballhalloffame.org/media/player/mp_tpl.j...mv&type=v_free&_mp=1