Well, to each their own I guess. I can see why some would spend seven hours there and why some wouldnt. If I have nothing to do on Sunday, ill watch baseball all day long like I would football. Spreading it out apeases the owners, but have you seen the crowds for some of these day games in places like Chicago and Detroit where its too cold play at night still? I think about a dozen people went to the White Sox games last week.
You could look at the numbers and figure out whether the costs of hosting a game (in terms of employee-hours and minimum food preparation) outweigh the income brought in (total ticket sales along with concession income from actual attendance). Then compare that to the same information for doubleheaders. Then look at all of that for all teams.
If you found enough teams that you could make the argument for, it might work. The problem is, I don't think enough teams have that problem. So MLB is better off doing what they are doing in minimizing the poor game conditions (earlier game times, more early-season games in warmer climates, etc.) then making a major scheduling change that only helps a few teams while likely hurting others, let alone the union problems.
The other issue is with media rights. I'm not sure exactly how it would work, but just like there's a difference between going to a ballpark for three hours and going for seven, there's a difference between watching a game at home for three vs. seven. So you would need to know how many fans tend to watch full doubleheaders on TV versus those likely to tune out for a significant period. That would affect ad rates and the money outlets will pay for broadcasting.
I know I'm being Buzz Killington here, because I do think it's an interesting idea. I think if MLB tried that in 1961 when they expanded the schedule, it would still be in place today and we'd all love it. However, trying to roll it back is probably not going to work.