If you have the technical and OPSEC wherewithal, it appears that running you own "private" (PublishServerDescriptor 0) exit node has become an extremely attractive anonymity tool.
There are lots of downsides to this (epistemic attacks), but if your anon use case makes sense for such a setup, it is a valuable tool to have in the toolbox.
Paying for the VPN anonymously is possible with Bitcoin.
The reason you tunnel it all through tor is because you can't trust the VPN not to fold if the government subpoenas them. So if the data center hosting the VPN is subpoena all they can hand over are logs of tor exit nodes. If you didn't use tor, they would get your home IP and the jig is up.
Nesting an encrypted connection inside the traffic being routed through tor is what you would need to protect HTTP traffic from being manipulated and/or monitored by an exit node.
So instead of doing (you -> tor -> internet), do something like (you -> tor -> VPN -> internet). To be even safer do (you -> VPN -> tor ->VPN -> Internet) that way your ISP isn't aware of tor traffic and the exit node cannot manipulate requests.
Easiest way to accomplish that is with a VM. The host has a VPN connection, force route the VM through tor (with something like Tortilla) and install a VPN client on the VM as well. This requires you anonymously set up the VPN running in the VM so there is no connection back to you, of course.
If you just config it with PublishServerDescriptor as 0 and someone else knows the IP (middle relays) they will be able to use it.
It's essentially a function of not announcing the node to anyone.
Edit: And to be clear, priv exit nodes don't prevent the timing attack in the article.