What are some good ways to provide computer labs for the students?
Just a couple of comments from local experience (CS Biased).


When building your lab, you have to ask what it is that makes it special. In many universities, you can expect that some very high fraction of the students are going to have their own laptops (this will vary by discipline, of course). Simply providing a generic computer may be a waste of resources -- a desk and a power-plug, with an external monitor and keyboard could be sufficient. 

My take is that a computer lab today should serve a distinct purpose: Teaching a course on computer graphics: Have a lab with beefy hardware that will minimize waiting time when attempting renders. Teaching a physics lab? Perhaps have a data-capture system integrated into the workstations. 

In the same vein, labs get used more when students see the value of going to the lab. A lab with large (or even dual) monitors will get used more, because it's A) less likely the students have that equipment at home B) more likely the students will understand the value of using that lab -- higher productivity  for example. 
Consider a 'virtual lab': If the reason the lab is there is because of a peculiar software requirement, think about providing a virtual machine instance of the lab machine for the students to use at home. This can ease the grading workload on TAs too, by eliminating platform differences as an excuse.