company who wants you to sign the contract before you join does not have confidence to get you job . avoid them.
Ask for percentage based. At start it would be usually 70-30 ( they sponsor your h1b) . If flat rate, make sure you don't have to go for architect or team lead since they get huge sum and you can get fired in a month.
if its a flat rate, they take care of proxies ( if needed) and relocation expenses. Otherwise, you may have to pay for proxies ( if proxy cracks your interview ) and responsible for your own relocation. But you can always ask them to take care of these.
You should work hard in training time. So find the one that provide accommodation so that you don't need to do part time job during that time.
Ask about how they raise your salary , paid vacation and anything else you need to .
Usually they give you two weeks of paid vacation. Anything more than that is awesome.
Very few of them provide you health insurance ( it would be basic ) after few months of employment, ask about it.
Don't go to the first consultancy you go in person to inquire about. Go to at least 3-4 consultancies in person and evaluate. Don't trust any of them totally, unless it is written and signed, they can always change their words.
No matter where you go , they try to get as much as they can from you. so try to find consultancy that your friends are working with and are not disappointed that much.
Ask for free beers as long as you work for them. Just a shot who knows you will change the trend ;)