Looking at the definition given at http://en.wikipedia.org/wiki/Foreign_national (I know, not a great source) I can't see how replacing this with just "foreigner" wouldn't suffice?
Foreign national focuses on the citizenship of the person: the Oxford dictionary states it is "a person who is not a naturalized citizen of the country in which they are living". Whereas a foreigner is an "outsider" for some criterion (e.g. birth place or ancestry), not necessarily for their citizenship. Some people would qualify as foreigners people who've been naturalized and therefore are not foreign nationals.
On the face of it, you are right that foreigner is a perfectly acceptable substitute. In normal usage this is the case. However, the word foreigner can carry derogatory connotations.
The use of foreign national is intended to emphasise that no negative meaning is intended. Especially if the speaker believes that the listener might make a negative inference.