The obvious part is drawing as periodic as possible, but hand-drawing is impossibly so perfect, so what kind of modifications are possible that do not make the textures loose their hand-drawn character?
There is an excellent, GIMP Plugin filter called Resynthesizer (webpage here) which, among other tricks, can make a tileable texture. Have a look at the section in that web page called "Creating more of a texture".
Once you have it installed, put your source texture in the middle of a larger image, select your source pixels (or just use your original image and select a subsection of it) and then 'select->invert' to get the bits you need to fill. As long as you give it enough pixel area to work with, I've found it tends to do a really nice job.
I would suggest doing this manually in software like Photoshop.
In Photoshop there's a filter called offset which scrolls the image by the given amount of pixels. If you offset by half the images width and half the images height you'll see the seams in the middle of the image. You can then alter the image until the seams are no longer visible. When you've done that, use offset again to make sure you haven't created any new seams.
This tutorial may be of help.
In GIMP you can use the "make seamless" filter (this can also be scripted). If the results aren't good enough, the best way is a manual approach as described in the answer by CiscoIPPhone.
This tutorial lists several possibilities using GIMP, including the "make seamless" filter.