For a reaction step, the assumption that the rate is proportional to the product of the concentration of reactants raised to their respective powers is valid.
However, generally, reactions are made up of many reaction steps (e.g. SN1 reaction). For such reactions, you cannot use the assumption above. You have to understand the reaction mechanisms in order to determine the rate equation.
(For reactions that involve decimal powers, usually the steady state approximation is applied, and some mathematics is done along with empirical findings in order to determine the rate.)
Addendum: Yes. A reaction step means an elementary reaction. From Wikipedia: "An elementary reaction is a chemical reaction in which one or more of the chemical species react directly to form products in a single reaction step and with a single transition state.". Therefore, there is only one reaction step.
Likewise, for the equilibrium constant,$K$, in your ratio derivation $K_c = k_f/k_r$, the chemical species must also be from that particular reaction step, and not the global reaction step. It makes sense because the equilibrium constant, K, is related to the free energy change, $\Delta{G}$ of a reaction step. In a two step reaction (e.g. SN1), there are two $\Delta{G}$ and therefore two equilibrium constants.
However, in practice, people do use the overall equilibrium constant, $\beta{}$, which is the product of the equilibrium constants at each reaction step. $\beta{} = K_1K_2K_3...$ (E.g.If the first step gives you 70% yield, and the second step gives you 70% yield, the global step would be 49% yield).(http://en.wikipedia.org/wiki/Chemical_equilibrium#Multiple_equilibria)
In short, for your rate constant,$k$ and your equilibrium constant $K$, in $K_c = k_f/k_r$, they must be of that of a single reaction step.