An incredibly common operation for my type of data is applying a normalisation factor to all columns. This can be done efficiently using sweep or scale
data %>%
rowwise() %>%
mutate(across(A:D)/factors)
ID Type A B C D
1 1 X 3 0.833 3.75 5.33
2 2 X 174 107. 82.5 76
3 3 X 6 1.67 2.5 5.33
4 4 Y 1377 849. 312. 335.
5 5 Y 537 353. 161. 165.
6 6 Y 173 116. 50 50.7