Перво-наперво: ВСЕГДА определяйте размер текста с помощью sp, так что у вас даже не должно быть этой проблемы.
Если у вас есть строка, которая слишком длинна для отображения на экране, вы можете использовать android: ellipsize = "true" или использовать что-то вроде этого:
if(myTextView.height > defaultTextView.height)
myTextView.setTextSize(smallerTextUnit, smallerTextSize);
где defaultTextView - это фиктивное представление, которое можно установить как невидимое где-то в макете.
Надеюсь, это поможет.