BGA has several potential causes:
High organic content
Low nitrates (usually in planted tank)
Low O2
Too much light
Low Flow
You need to find which one is causing you issues and fix that, or it will come back. As far as eliminating it, the only 100% method that I know of is to nuke the BGA with Erythromyacin. You want to do this as little as possible for obvious reasons, but also because you might end up with a erythromyacin resistant strain of cyanobacteria.