I've been using FontForge. It is a bit clunky, and is has quite a few bugs that cause it to crash, but they are consistent bugs. It is not random bugs. One you know something will cause a crash, you don't do it again.
It isn't perfect, but if it being free is important, then it does the job.