What I did on the longies I'm working on was place a stitch marker, and join each ball at the same place, different rounds. When I wanted to switch, I transferred the yarn from my right hand to my left, picked up the new strand of yarn, pulled the last stitch of the previous round taut and knitted the first stitch of the next round, catching the yarn in. It does leave a small seam, but it's a very neat and tidy one.
I'm trying to figure this one out myself- I bought some beautiful organic merino from hipknits, which hasn't yet arrived but they normally have quite drastic differences between skeins. I don't want to alternate all the way down, but I don't want it to look crap either.