There are all kinds of software packages available to help you design sweaters, if you're willing to pay for them.
With hats and socks, however, it's easy to adapt a pattern to your needs. Since you know you need hats, say, 3 inches bigger in circumfrence than the pattern makes, just do a bit of math to figure out how many more cast-on stitches you need. Do this by figuring out how many stitches per inch you get with the yarn you're using, then multiply it by the number of inches you need.
Ex: if you knit 5 stitches to the inch and need a 23 inch hat, then you need to cast on 115 stitches. Sometimes you have to take into consideration the decreases on a hat; oftentimes they're in multiples of 6 or 8, so you'd want to make sure whatever number you're casting on is a multiple of 6 (or eight). You can always reduce/increase the cast-on stitches to arrive at the number you need.
ETA: I'd forgotten about mielkesfarm.com!