I do it all by hand, except for the tagging, for which I use ID3-TagIT. I have a directory called Music and inside that, I have I think 6 more directories named #-C, D-G, H-K, etc. so that all the files aren't in one huge, slow-loading directory. If I have a complete album by an artist, I have a folder called [Artist] - [Year] - [Title] and inside, I have filenames like [Artist] - [Track Number] - [Title].mp3. If I don't have a complete album, then the files are in one of the 6 root directories and named like [Artist] - [Title].mp3. I've had a couple of other naming/organization conventions but I've had this one for about a year now and it's definitely the best way to do it, in my opinion.