In the fakeroot.in script, you have: LIB=lib@fakeroot_transformed@@DLSUFFIX@ This is not correct, because if you configure fakeroot with a configure option like --program-prefix='xxxxx', then this will be converted into LIB=libxxxxxfakeroot.so which is not right, and is not what the makefile installs (so running fakeroot fails). I think that the correct line in fakeroot.in is simply: LIB=libfakeroot@DLSUFFIX@
This is an unfortunate situation. Because libtool doesn't respect the transformation, the .so files are renamed in debian/rules, and this is why the @fakeroot_transformed@ substitution is done. The only better solution I can think of is to do as you say in the upstream source and then carry a Debian-specific patch forever in the package. I'll think about this.