How to join values of multiple geofields in a view?
Have you tried conditional views? 
You could have 2 fields, using the first by default, and the second instead if the value of the first is empty.
This module has helped me a few times. Just add the module, in your view add a field type "Views conditional", exclude from display your fields and use replacement patterns in your conditional field in one case or the other, depending on the condition (let's say address field is empty, then use latitude/longitude).

EDIT:
What about 3 fields in your content type:


Address field [field_address]
Lat/long [field_lat_long]
Composed field (type text) with token value [field_address][field_lat_long] using field token value or field tokens
In this way the composed field will always have a value from one or another field, and then you can use this field as data source. 
Then you may need to manage field dependencies to avoid that both fields are used.