Using biological means, you generally only reach about a 25% reduction. To meet the target of 2 mg at output, we have implemented physicochemical co-precipitation via FeCl3 injection of the activated sludge.
You might be able to use CO2 for struvite control (reduced pH increases solubility of struvite). Where in the process are you having problems?
Enhanced Biological Phosphorus Removal (EBPR) uses a small anaerobic zone to select for a specialized group of bacteria called the Phosphate Accumulating Organisms (PAOs). Normally, bacteria will be 1 to 2 percent by weight total phosphorus. The PAOs do a thing called luxury uptake where they absorb a lot of excess phosphorus - up to 40% of their cell weight! To grow PAOs, you have to cycle your MLSS between anaerobic and either anoxic or aerobic conditions.
For EBPR to work, the anaerobic zone must be truly anaerobic with an oxidation-reduction potential (ORP) below -300 mV. The ratio of BOD to total phosphorus in the influent should be at least 20 to 1. If these requirements are met, it is possible to reach effluent total P below 1 mg/L reliably and often as low as 0.3 mg/L total P.
Check out this excellent paper by Sam J. https://pdfs.semanticscholar.org/c7de/bb5cd7a803bd88d879998489a0d7eca51659.pdf