how can I align a line a vertices evenly preserving the angle?
in situations like this You could use the "Relax" function from the "LoopTools" as shown on the image below.



It will correct the line even if the inside verticies are moved vertically. LoopTools could be activated in Preferences/Addons section. Sometimes You need to use the function more than once to get a desired result so for speed things up select more Iterations (10, 25). Hope it helps buddy.

Sincerely, Jan