The core concept has always been accept the largest blockchain that passes the predetermined proof of work tests. Hard forks like the one that occurred in March happen as a result of some software in the p2p ecosystem having a different understanding of what the legitimate blockchain should be. This reality is ok with all distributive networks to some extent and usually gets resolved rather quickly and in many cases autonomously
Yet march was special in that the 0.8 clients could never agree with the 0.7 clients due an issue processing a larger than normal transaction volume, but 0.7 clients still had 60% or so of the total hash power. In essence the network had two different legitimate bitcoins floating about. Your question was who got to decide which one was the legitimate chain and what happened to the coins?
BTCGuild and Slush got to decide as they collectively control over 51% of the network's hash power. And also some people had to accept that the blocks in the orphan fork had to be lost for the good of Bitcoin. It isn't necessarily fair. It isn't fun. But Gavin and others handled it both quickly and transparently.
The next time there's a fork like this, it may not be so
straightforward. The miners may not all agree on the proper resolution
for the issue.
This is a valid concern and is something we accept as a community to be an issue. Generally speaking people tend to be self-interested and miners have a vested interest in preserving the value of Bitcoin. Thus always assume behavior will be economically motivated as Satoshi did in his paper discussing honest nodes.
Is there any documented set of rules (bye-laws) explaining how such
forks are to be resolved in the future?
No and there will never be because that implies an organization asserts the right to prescribe behavior in the community, which defeats the whole point of having a decentralized p2p currency. Only when pool operators decide to group up with more than 51% hash power can they make decisions for Bitcoin. This rarely happens unless an event like March occurs that could damage the integrity of the entire system
If there's a conflict among the parties involved, who has the final
say?
Whoever has 51% hash power.
PS: Any comments on Bitcoin's so-called (faux) "decentralized"
architecture are also welcome, given my other question has been
censored. The decentralization doesn't seem to work after all, which
begs the question as to what the whole point of the proof-of-work
scheme is anyway.
I've been censored as well and no bitcoin is currently not decentralized as envisioned. I mention this in my Bitcoin course using the notion of oligarchiness as a measure of central control. There are a handful of very influential people currently developing and maintaining the bitcoin ecosystem. They have a dramatic say in how the money works and the software to use it. Over time as more actors enter the marketplace and nation states begin to use Bitcoin, this will be reduced until eventually no one party has control.
Remember that at one time Satoshi had 100% of all bitcoins in circulation and the software running the network. We have made wonderful strides over the past 4 years and will continue to do so over the next 4 years.