I have had this problem too and have tried many ways to resolve it. I think I've finally found a solution.
1. The tracks you intend to join together must be continuous with one beginning point and one ending point. "Y" shaped tracks, loops, spurs, etc. will not join together without those super-annoying straight lines being added by Basecamp.
2. The tracks must all be going in the same direction. Invert any tracks that are going the opposite direction.
3. For the most likely success, add tracks one at a time. In other words, join two tracks (which will become one) and keep adding more tracks to it.
4. After you click on "Join the Selected Tracks" a small dialogue box will pop up. View the proposed join on the map to see if any unwanted straight lines will be added. If there are any, press "Cancel". Invert the direction of both tracks you intend to join. (While this does not appear it should make a difference, it does. I think it may be because of the date/time stamp on the points in each track.)
5. After you have Inverted the direction of both tracks, attempt to join them again by clicking on "Join the Selected Tracks" and observing the proposed join (hopefully without the unwanted straight lines). If it is what you want, click on "OK".
This method has worked for me, every time. I hope it works as well for you.
You can join multiple tracks without simply doing 2 at a time, you just need to select them in the left hand pane in the order you want to join them using Ctrl + click.
As for the straight lines, if the end of one doesn't match the start of the other BaseCamp has no option but to join them with a line. You can always adjust that afterwards.