In the context of no-fee transactions that can take a long time to get their first confirmation, is it possible to use raw transactions and double-spend the original transaction by broadcasting another transaction but this time including a miner fee? Or does it otherwise get ignored by every miner that already has the original no-fee tx in their mempool?
Yes, it is quite possible to successfully double-spend an unconfirmed transaction. Only about 20% of hash power today strictly mines the first transaction seen.
Here is a chart showing the convergence to 80% success when the time gap between the two transactions is 15 seconds or more.
I'll leave it to other resources to give details on how to use the rawtransaction API to do this. Be very careful, as you can easily end up sending much more to fees than you intended.
Edit: Core Dev Peter Todd actually wrote a tool to do exactly this:
Increases the fee on a transaction by double-spending it with a second transaction paying the original recipients.