Is there a good way to join these two objects up?
There are a few approaches I might use.

Boolean modifier is the most straight forward route - make the blue and purple parts larger so they overlap, and then use the intersection operation. A route like this usually works well in CAD software, but it's often not the best in Blender.

A better approach in Blender is using its mesh editing tools like proportional editing (the o key in edit mode).


Start with a plane, rotate it to face the front and press TAB to enter edit mode. 
Use S + X to sale in one axis and S + Y to scale in the other, and G to position it into the right space.
Subdivide it using loop cut, to get a bunch of edges along where it needs to curved (use the scroll where to increase the number of cuts):

Select the one or two vertices in the top middle (using RMB and SHIFT+RMB if selecting two). Press o to use proportional editing mode. Press g to start moving the vertices. Press z to only move on the Z axis. Use the scroll wheel to increase the size of the white circle so you start moving all the vertices at once. You can try SHIFT+o to cycle different fall offs ("Inverse Square" worked best for me):

The bottom is also curved. We'll fix that later.
Now do the same for the other axis from the top view (press 7 on the numpad), but this time select both the top vertices and bottom vertices. Again, use g to grab, and now y to constrain to the Y axis.  
Let's fix the bottom edge. Turn proportional editing off using o. Switch back to front view using 1 on numpad. Select the whole bottom row by holding ALT and clicking and edge (or B and drawing a box around it). Press S to start scaling, z to constrain to the Z axis, and 0 to scale to zero.
The whole thing may need its position fixed now. a to select all and use the on screen widget to move it around one axis at a time


To finish it, and add the ridge at the top, you can use extrusions:


Select the top row using ALT+LMB
Press e followed by y and drag the mouse to extrude outward along the Y axis
Press e followed by z and drag to extrude upward along the Z axis
Press e + y again to extrude it inward