Lets imagine your mine with half hashpower. Lets imagine that a block can contain 6000 transactions. Attacker has 1/2 hashpower. Offered load is 4000 tx/block.
Attacker crafts 2000/tx block at 1coin/tx fee level. Making the rest match him (plus episilon, which we'll disregard).
His average cost for spam is 1000 coin/block (2000 * 1-rate).
His average income is 2000 coin/block (4000 * rate). (He doesn't get income from his spam, he saves its cost however; see prior line)
His net income is 1000 coins/block, on average.
Is that possible?

His average cost for spam is 1000 coin/block, but his average income is not 2000 coin/block. Because even there are 2000 transactions with a fee of 1 BTC stay at the top of the queue and get transacted immediately, the rest 4000 transactions might still pay a fee of 0.01 bitcoin, they were just pushed back in the queue, not obliged to follow the highest paying fee. The fee would only rise to 1 coin/tx if all those transactions are willing to pay for that. In a word, the spammer can only raise the fee to the amount of money he spent, the rest is not up to him
And of course he could spend huge and spam all the 6000 transactions with 1 coin/tx to occupy all the block space, then as you said that will only benefit the non-spamming miners, and those miners would still include the transactions that they want to broadcast in their blocks with a minimum fee (like exchange-mining farm cooperation)