How to Snap/Align Verticies at an Angle.
You can scale the edges with a custom Transform Orientation with two axes locked.


Select some edge that has an orientation that you are happy with.
Once it is selected press ctrl+alt+Space to make(and activate) a new custom Transform Orientation from the edge. The newly created Transform orientation will have its Y axis going along the length of the edge. 
You can now select all the edges that you wish to straighten. You could manually select them or use some tools from the Shift+g menu, or ctrl + click to select the shortest path between two edges and check Face Stepping option in the bottom of the t panel or the F6 panel.
You need the pivot center for scaling to be set to Individual Origins in the Header of the 3d View for this to work.
Then you just hit s for scaling, hit shift+y twice to constraint scaling operation to the x and z axes of the selected Transform Orientation only and hit 0 to scale them to 0.