In situations where the user is generally familiar with the form (and she will be after filling out it 10 times) the above-the-field placement is generally discouraged.
Right alignent would still make sense per se.
A big question is, wether these forms are mostly read or written.
Assuming it's written a lot, a really important key factor is keyboard handling: it's just much more convenient to TAB/downarrow your way through huge amount of data all day than to click on things.
While it's not true on webforms, here it is: people are willing to learn things, like keyboard handling as it makes their life easier, whereas with websites, people usually see them once on their lifetime.
In case a label doesn't fit, you can shorten it and provide a tooltip instead of breaking the layout as users will be familiar with the abbrevation at most their second workday, but their eye movement would break every time.
It's important to generally maintain a single vertical alignment line for each piece of information: that is, the users should be able to vertically scan the form for the fields they need, without looking left or right.
Of course, not everything fits into a single line, but in general, if there's an information which is somehow special, and likely won't be looked up the same way as the other pieces of information (like, a complete address), it can have its own column.
Generally, you have to order the information into columns, both the labels and the fields, and maintain a consistent width, gutter (gap) and baseline (vertical distance, row height) for each: all fields should have the same width, all labels should have the same width as the fields, the distance between label and field (in case of right alignment) should be consistent. These are called "grids" in visual design.
Use these columns and baseline as kind of units: you can leave out a whole column or row in case you want to separate two form sections, you can have double column width, or double baseline height fields if needed, but always think in these units and align to their boundaries.
You don't have to maintain a hyper-strict order of field rows (as users will scan all rows anyway), albeit it's recommended to have most frequently looked up fields first, as they'll stop scanning once they've found what they were looking for, but you are required to have absolutely, trivially logical reasons to put some information into a different column: "I didn't have space left" just doesn't cut it.
But the most important is: ask your users. Show them your design ideas, watch them as they try to use it, record these for further evaluation (both screen and face), and if within budget (hacking a webcam into a tool costs about 200$ or equivalent) use eyetracking, so you know what they're looking at.