About the only 100% proof way I see to eliminate tile border issues would be disallowing the Float positioning and scaling entirely.
Unfortunately the float positioning comes from the fact that bowser frame rate ain't stable and thus the object and BG movements can't be kept on exact pixel coordinates if the movement has to look even. And non-float scaling options either cause multiple layouts or wide (ugly) borders.
In a sense it's kinda amazing to think that with all the challenges coders had on old era (like on C64 and Amiga), at least the audio and frame sync was not amongst them. These extra layers of code and helper functions have done a lot of good, but also caused some all different problems.