tutorial here). It is very meditative to work on and that was a good project for such a time. I did not join all of the balls together ahead of time, but I did use the Russian join to attach several of them at a time. I joined the smaller balls into larger ones, picked up my hook, and crocheted happily away. At the end I did a shell border and just had one end to weave in--yay!
I like to use the Russian join for lace projects when possible because it's better than trying to weave in a bunch of ends in an open stitch pattern. I also find it useful in knitting projects where I will be having yarn changes randomly in the middle of rows. If you are unfamiliar with the Russian join, here's a short video that shows this very useful method.
If I am doing a crochet project without lots of open spaces in between stitches, I will usually just tie the yarn ends together before winding the smaller bits into a larger ball because I can easily weave the ends in when the project is done. I did that with a bunch of small scrap balls of sock yarn, making two scrappy balls, which I then used to make a pair of scrappy socks (crocheted, toe up), which I wear all the time--they have held up well.
Sometimes I do nothing with the ends at all and I call them fringe.
If I just have a little novelty yarn, I use it by itself--making as many chains as I can, closing into a ring and looping it around my neck a few times like a necklace or around my wrist as a bracelet. Or I might cast on a bunch of stitches on circular knitting needles, bind off, and use the tails to sew the ends together and attach a glass bead.
May your weekend be creative and peaceful.