In addition to the conduction band and valence band states, you also have to consider any trap states present due to impurities in the material. At 0 K, all donor states will be occupied, and all acceptor states will be unoccupied. This implies the Fermi level must be somewhere between the highest acceptor state level and the lowest donor state level.
But, indeed, if there is some range between those levels, then we don't really know where the Fermi level is within that range. But since we never encounter a semiconductor sample at 0 K, it is rather a moot point.
As soon as the temperature rises above 0 K, then we can determine the Fermi level by considering that the overall charge of the material remains neutral, and any electron excited from the valence band or a donor impurity must find a home in either the conduction band or an acceptor state. In principle, if we knew the density of states in the two bands, and of the donor and acceptor states, there would be only one choice Fermi energy level that leads to a neutrally charged material (i.e. same total number of electrons present as were there at 0 K).