Yep, the issue with Gentium (and a few other 'old' fonts) is that their truetype bytecode was optimized for some old and forgotten rendering engines, and freetype's bytecode interpreter just plain mangles it.
On a proper Linux system, you can simply workaround that by enforcing autohinting on these specific families via fontconfig.
But ttfautohint provides a 'cross-platform' answer, by rebuilding the bytecode hinting with the help of freetype's autohinter

.