Protect battery from 50% loss possible?
Your exact requirement needs better definition. However -

Some 'idea starters' follow. If these circuits seem to be "going in the right direction" but the precise means of utilisation is still not clear, please ask update your question with more detailed requirements or ask re specific points. 

Battery discharge can be terminated with a switch (relay or electronic) when the voltage falls to some preset limit. This can be achieved in hardware with a comparator or in software using eg an ADC (analog to digital converter) to measure the battery voltage and to compare it to a stored value.

There are so many possible versions of this that directing you to a range of examples seems more useful than just providing a single possible solution. 
Using an image search for eg low voltage detector turns up MANY ideas. Not all will be suitable but this cross section gives a good idea of what can be achieved. Each image links to a related web page. 



One subset of possibilities:

A low cost, very available and highly useful IC is the TL431 programmable zerner. This can be set to switch at and voltage from 2.5V to the rated Vmax - 18V for some, higher for others. The TLV431 has a 1.25V reference so can switch at lower voltages.
Many TL431 low voltage detector circuits here.



As a near minimum components exaample, this circuit from here



turns the LEDs ON when voltage falls too low. The voltage change (here i\used to control the LED) could be used to disable a switch (relay or MOSFEt or ...). 



Here's a circuit  from Spehro that turns an LED on when battery voltage is ABOVE a limit. 

Look at the various circuits and you'll get a good idea of what's involved.



Use of a microcontroller allows great flexibility and ease of solution once you understand them.  (eg a 3rd party Arduino can be very low cost and will do what you want). 



Predictive systems: 


  I was thinking that if its cloudy for a week or pouring down rain don't run the fan unless it can charge during all of that. 


If you wanted to know whether you would be wise to even start running a fan etc on a given day you'd need to have an estimate of likely energy input, the level of charge and capacity of the battery and the load current. Systems which 'think ahead' in such situations are possible, but need a good level of 'problem definition' in order to have a reasonable chance of meeting your need.

Equivalent sun hours per day = sunshine_hours = SSH  

Panel maximum output per day = SSH x Wmp x kp
SSh = as above.
Wmp = panel Wattage output in full sun.
Kp = adjustment factor based on mounting angles, panel cleanliness, ...  

Generally - for a fixed mounted panel Kp may only be about 0.5.
In addition, energy stored in a battery will depend on panel to battery matching, battery chemistry and more.

DOD = depth of discharge

Available battery capacity = Capacity_max x DOD allowed.
eg a 20 Ah battery with a max allowed depth of discharge of 70% has max available capacity of 20 Ah x 70% = 14Ah.
BUT if the battery was at 80% capacity at the start of the day then available capacity = (80% - 30%) - 20 Ah = 10 Ah.
(as 30% of the capacity is unavailable due to 70% max DOD limit.).  

If you want a battery to last for say 5 stormy days with no sun and max allowed DOD = 70% then you will need.
Available Ah = (Load Ah per day) x days / DOD_max_allowed
eg if your fan etc took 1A x 10 hours per day then Ah/day = 10 Ah.
For 5 days Ah needed = 10 Ah x 5 = 50 Ah .
For 70% DOD starting from 'full' you need 50 Ah/70% = 70 Ah battery capacity.

If you expect to get some solar input per day, but not enough to cover all needs the calculations get more complex again. This is all just 'common sense' but has to be properly accounted for.

So - knowing what you are really trying to achieve in good detail is a necessary starting point for good answers.