Ahhh! Ive run out of yarn!!

We've all been there, we think we can push our luck, we're sure we've checked the pattern but when we reach for another ball . . . Horror! It's the last one! There's not enough yarn left to finish our project and all our hard work has to be ripped out and started again. Soul destroying!
It's almost impossible to buy a specific lot number of a specific yarn. Different lot numbers will have very slight colour variations. Although they can be invisible to the human eye it can show up like a sore thumb on a sweater.
The only good thing to come out of it is that we only make this mistake once in our lives, so devastating are the consequences.
Obviously my advice is to learn from the mistakes of others and ALWAYS ALWAYS check you have plenty of yarn to finish your project. But that's little comfort when we're faced with our ruined work.
However there is hope on the horizon. There are solutions and work arounds to save your hard work.
Firstly start as soon as you notice you are running short on yarn. The earlier you start compensating the less yarn you will use.
Forget about using the same yarn to sew up. A different lot number or even a different yarn can be used.
If you catch it in time, is it possible to use a different colour or yarn for the cuffs? If you don't fancy this look and manage to get a different lot number of the same yarn use the odd ball for the cuffs and collar. This will hide the change in dye lot.
Check the sleeve length. Can you loose a couple of Cm's off the length of the sleeve? Make sure that you make the reduction before the shoulder shaping.
Use the odd lot numbered ball for the last few rows of the sleeve. The change will be hidden in the seam.
I hope these suggestions can help you save ripping out a carefully knitted project. I'm off to hunt the interweb for one last ball of Paton's Smoothie in discontinued Chocolate! But what will I do with my hands while it arrives?!?