You get that long negative number because date fields are really specialized number fields that count the number of days from 12/31/0000. Thus you are subtracting a large number of days from a blank value--which FileMaker treats as a zero in most cases.
You can use IsEmpty with an If or Case function to test to see if fields are empty and to only return a value if they are not. If you need to test multiple fields, you can use the and operator:
If ( Not IsEmpty ( Date In ) AND Not IsEmpty ( Date Out ) ; Date Out - Date In )
Edit note: Changed "specialized date" to "Specialized number".
Thanks PhilModjunk, your solution worked perfectly! And I appreciated the explanation too.