I think that the best way to start would be to read a lot regularly and have fun with creating websites from the ground up - on your free time for fun. Show your work and ask for opinions to reflect on. Do all that for yourself, but do not create live websites solely on your own skills right from the start.
When starting with webdesign, it takes a while to get a sense of what looks good on the screen and what not. If time goes on the you start to get it how to apply this sense by creating your own designs. Not that you should do stuff that everyone else does, but you develop your design skills by looking and using designs that have been created by experienced players in the business.
So I am coming to my point finally - use the help of templates. There are many awesome recources on the internet. Good free templates and articles can be found on this list http://www.1stwebdesigner.com/freebies/design-blogs/. Take design that you like and modify them to fit your needs. Then you are working with good materials to grow as a developer. Keywords like "best HTML template showcase" and "theme recources" will help you on your journey on Google.
Yes you might find some bad examples of design in the free market of templates. But if someone has taken the effort and coding it and you like it, then why worry. In the future - all the old stuff that you have made will look a bit off to you
The problems that really are off in your design are in the art category. From a practical standpoint - everything is easely readable and clear. This is a awesome start, because unreadable colours and fonts are usually the first things to get over.
You design looks very old - from the starting point of webdesign history. Though it has all the structure it needs now.. It is just a matter of practicing.
Draw inspiration from awwwards.com or from themeforest.com and look what makes those designs better.
I'm not a good judge of the art side of the design.. I like more the technical stuff of typography and frontend development