1. Avoid billing by hours, exactly for the reasons listed here. You can only lose like this; it carries more administration overhead, more friction with the customer and at the end there's a max budget allocated on the customer's end anyway - it's not like you can bill indefinitely if things don't go as planned.
2. Always charge fixed price for projects. Remember the budget allocation from #1? Use it. Bill twice as much in the beginning but avoid charging the customer even a penny more for delivering the work you're committed to, even if that means 'losing' money (you don't really lose when consulting, only earn less).
3. Work alone. Hiring people may seems like a good idea but then you've got a financial burden in the slower periods (and these always come when you least expect them). You can make good money alone, and you can make good (and great) money when you have 8+ people working for you but between 2 and 8 employees, you're busy full time getting enough work for the team and your margin on these employees simply isn't big enough (just think of the office costs). Besides, I don't like the whole pimping thing where you sell someone else's skills; YMMV.
4. You are a business problems solver. Don't tell a customer "no", just jack up the price if needed. If you intend to have a large project with them, don't charge them for general consultancy around the project. Happily give them your time for free; make your money on the project itself, not the meetings around it.
Edited to add something quite important, IMO: Whenever first meeting a customer, I try to get a high level picture of the business they are in, the product they are looking to develop, who will use it and so on - even if they are just looking for me to develop a specific component. It's very easy to fall into "XY Problems", and understanding the project environment would make it easier to assess the work and rates.
5. Remember there are people in a corporate environment on the other side. Make them look good in their company; give them whatever help needed and be their go-to guy. It's really important for the long term (and as fellow human beings). Don't ask for money for small modifications or changes, think of the administrative process they need for each line item - it makes them look incompetent or just annoys them with bureaucracy. You'll more than make up for that in the following work.
6. Long term, your entrepreneur skills are better spent at build your own business. Consulting is good for the free spirited folks that don't want a corporate environment, or for making a quick buck on some lucrative projects, but it's hardly a way to get rich and it's quite wearing in the long run.
Nevertheless, I think that professionally, consulting has been the greatest thing I could have done. The variety of projects, technologies and corporate environment (30+ customers here, most repeating) is great for your own development.