Fixing problems #1 on #3 involve getting a public library in places where the people are. While most public libraries can't pull up stakes and move to new locations as the demographics change, when there's an opportunity to move, it should be used to its biggest possible advantage. Pierce County Library System has done really well in this regard.
The old Milton Memorial Library was great for the town of Milton when it was the only library there, but when it joined the Pierce County Library System, it also gained a lot of the surrounding area as part of its service point. When a new lease opened up in a mall complex near the highway, the library packed up from the old building and shuttled the collection into their storefront locale.
The move was an incredible success. The door count increased by more than 40,000 in the new location for the year (78,753 in 2010 to 120,442 in 2011) and the circulation increased nearly 90,000 units over the same period of time (246,699 in 2010 to 332,163 in 2011).
Looks like those real-estate people are right.
The University Place Library was in the middle of temporary housing that was temporary for far too long while a new combination civic building and library was being built by the city. The library was holding up in a storefront of its own - a converted auto parts store.
Once the new building was completed and the libary moved back into an appropriately-sized space, the door count numbers (228,050 in 2010, 271,959 in 2011, the year the new library opened, and then 297,777 in 2012) rebounded appropriately. (The circulation went down slightly due to the time that most of the collection spent moving from one location to another and getting properly prepared for their opening.) Sometimes, the right move for the community is to build something bigger to match the expanded community.