Sync Virb Ultra 30 data with Edge 810

So I do a lot of mountain biking and in a long ride of a few hours I may record 10 + short clips of a minute or so.
I ride with the Edge on for the full ride so that data seems more accurate. Since both units supposedly use GPS - shouldn't they sync the data by time and shouldn't the times be accurate? They are always not synced in Virb Edit or DashWare and can be off by as much as a minute or two (usually about 20 seconds off). Since there aren't easy landmarks to use, it's also hard to manually sync each clip using a map.

Also, I can get the full route map to show up if I click on the activity start time button (after I manually import the g-metrix from the edge FOR EACH CLIP - what's up with that?) but the elevation graph will show the graph for the whole ride on some clips and for just that clip for other clips. I have noticed for the clips that don't show the entire elevation graph that there are two separate elevation data entries (instead of one entry with the drop down box allowing me to choose the data source)

Does anyone have some insight as to what's going on here?
It's pretty frustrating working through this to get a simple video going.