try the tiny version of inkscape (there are two, one is much larger) in the extensions, i think you'll like it. it may take a whole day to learn to use it the way you want, but for the kind of diagrams you make it's much easier than using gimp. i say this as someone who likes gimp and uses it all the time, but inkscape is better for this, and i like inkscape, too. if you were doing more detailed artwork, i might recommend gimp or the full inkscape instead.
just my opinion, naturally. i mean, you could probably just keep using visio.