Lever Simulator 2015
Javascript ES6, 62 Bytes

s=&gt;Math.sign([...s].reduce((p,c,i)=&gt;p+~~c*(i-s.indexOf`^`),0))



-1 if left is heavier
0 if balanced
1 if right is heavier


Ungolfed:

s=&gt;
  Math.sign(                     // output sign of weight of lever
    [...s].reduce((p,c,i)=&gt;      // split and reduce input
      p+~~c*(i-s.indexOf`^`),0)) // add weights of all elements
                                 //   (elements left of pivot are negatively weighted)


Test runs (assigning anonymous function to f):

&gt;&gt; f("11   ^9")
&lt;&lt; 0

&gt;&gt; f("321^  12")
&lt;&lt; -1

&gt;&gt; f("9^         1")
&lt;&lt; 1





-11 bytes: changed output from R B L to -1 0 1
-3 bytes: changed e.split`` to [...e] (thanks @Vɪʜᴀɴ)
-33 bytes: changed algorithm to use negative weights rather than splitting at pivot
-9 bytes: removed pivot check (apparently, ~~'^' evaluates to 0...)
-2 bytes: made function anonymous (thanks @cᴏɴᴏʀ-obʀɪᴇɴ)