How can I improve my Zerg Macro?
This is a very broad subject and most of your questions I believe are answered in Tzenes' answer, I will try and give you some tips on macroing.
Focus
In every match, you always have different things to focus on. You have the following, but definitely not limited to, the following things to focus on: Minerals/vespine, Current Supply, Mini-map, battles, bases, armys, etc.
This is a lot of things to worry about. The key is cycling through these things while your playing the game.
First off watch this video. In my opinion Day[9] is one of the best people to watch when trying to learn the game. Day [9] covers a lot of what you need in that video.
Your specific issues
I keep on getting supply blocked
This is a problem everybody has occasionally. The key to staying on top of this is making a cycle: A mental checklist of things you need to go through in a loop. For example:Spawn Larve-->Check Supply-->Check Mini-map-->create drones/troops-->Spawn Larve-->...
This isn't necessarily my mental checklist but you get the point. When you do one thing, check the other. Practice is key, as in anything, to get good at something.
I'm using my larva injects fairly frequently, but whenever I get distracted I forget and my unit production suffers as a result
Again, Mental Checklist. The key is to not focus on the battle. Its hard to do especially when you want to micro your units, etc. One thing I do to keep myself from falling in that "watching" trap, is I reconfigured "Tab" to be my hotkey for switching around to my bases instead of "backspace". I then have all my queens hot-keyed to one control group and I Shift click spawn larve and tab around to all my bases and all my bases are instantly creating additional larve. No one can give you a easy way to remember to do all this. It is up to you to practice and get your mind-set to constantly scroll through your checklist.
I always end up with massive amounts of minerals and no gas
This is a complicated issue. This could be for a variety of reasons. But the normal solutions to it is this: Get more Gas Geysers to produce more gas, and use your minerals faster (Produce lings, create additional bases, etc)
I'm never sure when to expand
This is yet another tough answer. As a Zerg, you should try to keep +1 bases to that of your enemy.
Some basic tips include: Expand while attacking, when you have excess minerals, and when you need to gain a higher economic advantage, etc.
Other tips on macroing
Droning, this is a HUGE issue many new players have. They focus on rushing and don't spend enough on economy. Basic Guidelines are if you rush, typically you are setting yourself behind your opponent in economy. This is true unless of course you do damage. I linked to Day [9]'s videos a few times in this answer and here is another link that can help you in this respect. There are may other issues that I can't cover in one answer. But I suggest taking a look at Day[9]'s videos if you are looking to improve.
- Select all workers from your base. If you have 25 or more, it's time to stop droning and expand. If you are not expanding for a while, you can use the money to build units and overlords.
- Every time you get supply-blocked, see where you started building the overlord. Next time, build it one or two supply count units before. Ex.: If you started an overlord at 40/42 and got blocked, try at 39/42 or even 38.
- When you build overlords, you should build one per-base. If you expand, build two at at time. Next time you expand, start building three at a time and so on.
This will greatly improve your macro. I hope it helps.
The key elements to learn are:
- Macro in a safe environment (e.g. vs Easy Computer or Build Order Tester)
- Macro in a controlled environment (e.g. vs Buddy with a specific build)
- Macro in a common environment (e.g. vs Buddy with common build or BNet)
- Macro in special environment (e.g. base race scenario)
One way to get better macro is training only Macro. Create a new map, I like QXCs Build Order Tester, and execute your build order over and over again. Try to reach 200/200 as fast as possible and watch how you get there faster every time. With a solid Macro you should be able to max out at about 12-14 minutes, depending on which build you go.
You can "simulate" someone attacking you by just building units instead of Drones or dropping some Spinecrawlers.
The idea behind this is to get a routine. If you repeat this 5-20 times every day for about 2-4 weeks your Macro will improve drastically.
After this training try to focus on some Micro, like send Zerglings to scout the expansions or move your units around like you would in a real battle etc.
The next step is to get a buddy to train with you. Tell him to go a certain build, say 2 Barracks push and try to defend, macro up and kill him. The important part is that you face the same opponent with the same strategy over and over again. Once you can win regularly tell your buddy to execute another build.
During the games with your buddy you will learn to adapt your build to new situations. The goal is to identify a problem (e.g. Banshee harass) solve it by acting accordingly and fall back to your strategy (build order).
Playing on BNet will get you there too, but it will take way longer.
If you do not have a buddy:
- Try to find a friend that also plays Starcraft
- Try to chat with someone on BNet that you had fun playing against and ask him if he wants to get your training buddy.
- Try to find a training buddy on Teamliquid, there are several threads for this.