Ah, the 10-team dilemma. 14 teams is also hard, and I suspect 18 is hard too. All 3 are numbers that are not divisible by 4, and 4 is what you need to switch up the home/away pattern and work in the twice at home / twice away combinations. The closest I've been able to get is one team plays away (and one home) three times in a row, but I have the additional constraints that every pair (1 & 2, 3 & 4, etc.) must be "sister teams", one home when the other is away, not just some of them, and the schedules have to balance home/away for all teams for any number of weeks, not just the home-and-home schedule you have. So your problem might actually be solvable, it's just a solution that doesn't work for me so I haven't considered it.
I suspect that what you really want is not a schedule where nobody is home or away more than two weeks in a row, but a schedule where nobody is away from their home location more than twice in a row. Nobody complains about playing in their home location more than two weeks in a row. So what you do is minimize the number of instances where teams are away more than two weeks in a row (I know you can get it down to one occurrence but I am contractually prohibited from actually sharing that data with you), then put the teams in the schedule so that those instances all include at least one time where the team is technically the visitor, but at their home location. That way no team plays away from their home location more than twice in a row.