Как избежать переполнения типа данных?
Никакого переполнения не будет. Переполнение возникает когда результат операции становится больше максимально допустимого значения для конкретного типа данных. Для типа double это 1.7976931348623157E+308.
Точность вычислений вы устанавливаете выбирая тип данных - float или double. Не важно как сильно вы раздробили число, количество занимаемой им памяти не меняется. Т.е. вам нужно "обрезать" его только при выводе, чтобы лишние цифры глаза не мозолили.
Обрезание производлится по некоторым правилам, которые вы наверняка учили в школе, и называть это надо "округление". Т.е. вам достаточно набрать в гугле "Как округлить число до нужного знака после запятой в Си".
Переполнением в Си называется случай, когда вы увеличивая значение переменной достигаете предела и следующее увеличение обнуляет переменную или меняет её знак.