Somehow I like the idea of black-box-XP, but the problem still remains, there must be a way, obvious, public or cryptic and hidden, to distribute XP.
Maybe a system based on the potential votes would work indeed. Let's keep the XP as they are, and you still get XP for logging in. No XP just for creating a node. XP are then given via the ratio of votes for this post out of the total votes for each day. That would mean, if a post gets (say) 1% of all positive (resp. negative) votes on a day, the user gets 1 XP (resp. loses 1 XP).
This system would be untouched by the number of posts/votes, and the only anomalies would be on really lazy days, where a post that gets one vote already gets 1 XP, but the number of idle days should diminish with the number of active monks.