Create a camera with a bigger viewport (for example pixel perfect of your testing device). And use that to render your font. Also do not create a new font every render, create it at the beginning and use that.
Edit:
To calculate the position you should draw the text, it would be like this. Lets suppose your world camera is called "cam", and your text camera is called "guicam". And a GameObject called "object".
ratew = guicam.viewportWidth/cam.viewportWidth; //<--- you should calculate these 2 only once.
rateh = guicam.viewportHeight/cam.viewportHeight;
x = guicam.position.x-(cam.position.x-object.position.x)*ratew;
y = guicam.position.y-(cam.position.y-object.position.y)*rateh;
font.draw(batch, "stuff", x, y);