This is not only affecting the expatriates but also foreign people who work in US temporarily (like in a h1b visa). Most of them were not aware of this rule and now they have to pay 25% of the money they have in bank accounts in their native country.
Are you sure? Unless they turn into citizens (say, via green card) why would they have to report? I would think not even green card holders would have to (although looks like they do, according to http://www.taxesforexpats.com/expat-tax-advice/green-card.ht...). Do you have a reference for your claim?
No reference, but I'm a H-1B holder and I file FBARs. I am part of a German Expat forum and the opinion there is pretty cut and dry that H-1Bs have to file. Every year that forum has a big thread to make sure everybody is aware of it. Having my savings confiscated for screwing up FBAR reporting is literally my number one fear I have about living in the USA.
I received my Green Card only some months ago, but the requirements that you have to report on your accounts is pretty obvious, once you check what things you have to do.
Every US tax resident has to file FBAR irrespective of the visa or citizenship. This includes Green Card holders as well as temporary work visa holders (h1b, L1) and also even foreign students in US!