Why do characters for "opposites" often have very different frequencies on frequency tables? For instance, on Jun Da's table. 高 (tall) is listed at 134, while 矮 (short) is listed at 2027, 新 (new) is listed at 161, and 旧 (old) is listed at 915. It's worth noting that 老 (old) is listed at 179.

An exceptions to the rule includes 近 (near) and 远 (far) (374 and 386 respectively). You might also consider 大 (17)  小 (83) an exception; they are only 66 slots apart.

Is this because of a Chinese preference for the more positive quality, even though in theory, they should be "symmetrical?"
It's an interesting statistics.
I think the reason is that those words also have multiple other meanings.
For example, 高(134) vs 矮(2027),
高 could mean:

　1. 由下到上距离大的，与“低”相对：～峰。～空。～踞。～原。～耸。～山流水（喻知己、知音或乐曲高妙）。～屋建瓴（形容居高临下的形势）。～瞻远瞩。
　2. 高度：他身～一米八。
　3. 等级在上的：～级。～考。
　4. 在一般标准或平均程度之上：～质量。～消费。～价。～档。～手。～能物理。
　5. 声音响亮：引吭～歌。
　6. 敬辞，称别人的事物：～见。～就。～论。～寿。～堂。～徒。
　7. 热烈、盛大：～昂。兴～采烈。
　8. 显贵，道德水平高：崇～。清～。～风亮节。～尚。～雅。～洁。
　9. 宗族中最在上之称：～祖。
　10. 酸根或化合物中比标准酸根多含一个氧原子的：～锰酸钾。
　11. 姓。

矮 could mean:

　1. 人的身材短：～人。～矬。～个儿。～墩墩。
　2. 高度小：～林。～墙。～屋。
　3. 等级地位低：工资他比我～一级。

As you can see, 高 has much more meanings than 矮, 11 vs 3. So, it's no surprise to see 高 holds the position of 134, while 矮 just 2027.