USB specifications are set in stone. Only difference between the specs and the implementation is that the implementation can improve on the specs at the makers wish, but has a minimum to achieve.
Now, most of the following is info I got from one of Maxim's engineer journal things they send out, but I pretty much assume they conform to usb specifications. There are two types of usb ports. High power and low power. Low power usb ports have upto 100ma of power at 4.25~5.05 volts with current increasing in 25ma blocks. Highpower ports can go up to 500ma at 4.75~5.25 volts with current increasing in 50ma blocks. All usb ports, to be certified usb compliant, must meet those standards. Now, the thing is, without, the word escapes me, but without syncronization of usb host (computer) and usb peripheral (the device) the port is limited to at most 100ma of power. (Thats because the usb controllers need atleast that much power to communicate). Without something on the device telling the computer what it is and how much power it needs, the computer's usb controller shouldn't give more then the 100ma of current.
So, unless you use chips with usb codes preprogrammed (Like TI's usb audio dac/adc), you should plan for the worst and assume 100ma. I don't know how much of this is true for usb hubs, powered that is (Unpowered would just pass thru to the computer's main usb controller)