Hi!
Yeah sadly there isn't really a way to combine curve shapes without maya trying to interpolate the end of one curve to being attached to the start of another, thats just how curves are calculated in maya.
What you can do, is parent multiple shapes to one transform. Thats something that you do rather often when rigging. So I wrote a script for that:
import maya.cmds as mc
def groupShapesUnderLast():
"""
Groups shapes of all nurbscurves in selected Hierarchies under the last selected transform
"""
sl = mc.ls(sl=True)
par = sl.pop(-1)
parPiv = mc.xform(par, q= True, ws= True, piv= True)
curvesList = []
pivList = []
for s in sl:
piv = mc.xform(s,q= True, ws= True, piv= True)
pivList.append(piv)
mc.xform(s, piv= (parPiv[0],parPiv[1],parPiv[2]), ws= True)
cList = mc.listRelatives(s, c= True, ad = True, type = "nurbsCurve")
if cList != None:
curvesList= curvesList + cList
mc.parent(*curvesList, par, s= True)
dList= []
for i in range(0,len(sl)):
mc.xform(sl[i], piv= (pivList[i][0],pivList[i][1],pivList[i][2]), ws= True)
decend = mc.listRelatives(sl[i], ad= True)
if decend == None:
dList.append(sl[i])
else:
check= 0
for d in decend:
if mc.objectType(d) != "transform":
check= 1
if check == 0:
dList.append(sl[i])
mc.delete(dList)
groupShapesUnderLast()
But that still leaves you with multiple shapes so sweepmesh wont work. But as far as I know, there are Bifrost and MASH solutions generate a single mesh from multiple curves.
I hope it helps!