The key is to stand your character outside of range of your opponent. As minions get low, move into range just long enough to attack once, then return to full range.
Your attacks don't do much damage at the onset of the game. Mentally prepare yourself to make only one attack per minion. Do not try multiple attacks per minion
Do not allow your character to auto-attack. Constantly spam randomized 'horizontal' movement as you watch minion health drop.
Ranged minions die more quickly. You can attack them slightly earlier than melee minions and still get the last hits.
If friendly ranged minions have built up, you will need to attack earlier than you normally would. Ranged minions do a lot of damage, and timing your attack amongst a host of friendly minion attacks can be tricky.
As you get better at last hitting, mentally prepare yourself for the order in which you will last hit the wave. Knowing where you will need to move the cursor next can save time.
Often there are minions you can not get, based on how the lane/minion movement broke down. Knowing a minion is out of your grasp is important. Concentrate on getting all the minions you can get.
Animation cancelling is also important. After you have attacked (or the projectile has left your character) start moving immediately. This will limit the time you are in the hot zone.
Do not get so focused on last hitting that you don't look at your mini-map and at chat. Death is much worse than missing a CS (creep score).
Very basic last hit goes like this: You are beyond maximum attack range, in a safe neutral, random walking pattern. A minion is getting low. At the time when you will need to attack, you have moved to maximum projectile range and attacked. As soon as projectile has left or attack animation has completed, you move back to safe, neutral, random walking pattern. Prepare for next last hit.