The National Institutes of Health (NIH), which funds approximately one third of all biomedical research in the USA [1], requires that all peer-reviewed manuscripts that arise from NIH funds be submitted within 12 months of acceptance to a journal to a digital archive, PubMed Central, where the articles can be freely and publicly accessed [2].
What NIH did for biomedical research is the solution that needs to implemented elsewhere. The funding agencies have all the power that is needed to change the behavior of the journals and professional societies. Virtually everyone involved in academic research relies upon grants to fund their projects and the federal government is, by far, the largest supplier of grant money for research. If open access publishing is required for grant recipients then the journals will be forced to adapt or die.