From my perspective, the current change is an important but insufficient improvement. Two more things need to happen.
All websites using Beacon should make it an opt-in feature.
Facebook should create a page where you can control the sites from which it accepts and stores Beacon information about you. It should discard any information from sites that you don’t authorize.
For now, if you don’t want Facebook collecting this information about you, log out before visiting any websites that use the Beacon.
EDIT: Facebook has stated that when Beacon activity occurs on a third-party site, if you elect not to show it they won’t store it.