I really don't think you'd need to import when each team plays. The outgoing csv file with your teams only needs player names. The contest/sport/time selection can be done when uploading the lineups to DK. I don't know if you've looked at other lineup uploading methods, but other places do theirs like this...
The position part was a total oversight by me, I was thinking about my excel solver and how I don't have a problem with that, but then of course all of the positions are defined. Yeah, that would be a big issue. The only thing I can think of is for the user to have to define which positions are necessitated by DK for the contest of choice, where QB/RB/RB/WR/WR for example would be a/b/b/c/c, but for baseball it might be SP/C/1B/2B/3B or a/b/c/d/e. The cruncher of course would need to know that it needs to fit x amount of a's/b's/c's and the order they need to be in. I guess this could be done, but at this point it might just be easier to create an optimizer for each sport since you guys already have a good thing going.
Team stacking in my opinion could be handled more easily with a minimum exposure function for most sports, although if you're trying to stack a bunch of combinations of 9 batters in baseball, then it'd be more difficult. Football/NHL/PGA/eSports/NBA/NCAAB I don't think you'd have a problem as you're probably locking in the QB, and might want 70% minimum exposure to WR1 and 30% to WR2, or whatever other combination you want. I don't think any issues should arise with accidentally putting the wrong team defense against your stack, or putting a pitcher that's playing against your batter stack, because the user should be excluding those players anyway.
Presenting it in an organized manner could definitely be done, and I think a single optimizer for everything could still be done, but as I said earlier, it might be a bit too much work, and you guys already have a good thing going.
I don't see why the amount of teams matters, because in any given NCAAF slate there's about the same number of games that week as there are in the NFL. I think things could be made to where the team someone plays for is irrelevant. I personally approach my L/U construction by excluding all players from the start, selecting the ones I want, then assigning their exposure. So I'm never going to have an opposing D or something accidentally on my lineups. But I can see how teams are relevant and could pose an issue if you're taking the "I like the patriots, now gimme your best players with them" approach.
I haven't spent a ton of time thinking about any of this, so some of it's probably just flat out wrong, so take it for what you will.