I have enjoyed using the Russian join technique for getting rid of those knots. It makes a little bit of a thick spot in the knitting, but on most of my projects that doesn't matter. It's a nice, secure join, and I have had better luck with it than with the "trim-and-spit" join (although YMMV). Here's a link: http://www.knittinganyway.com/freeth...ussianjoin.htm
I'm working on a two-colored scarf too. That is, I'm knitting with two strands of yarn at once, two different colors, to get a marled effect. The best way I have found to hide my ends is to thread both trailing ends at once onto a tapestry needle and then do the weaving in as usual. As long as you don't create any long "straight lines" with the ends you're weaving in, the effect will still look marled, just like the fabric.
If you're doing two different colors in separate blocks, then just weave each end into the corresponding block of the same color.
Hope that helps!