Yes a lot of these can be solved - JRuby+Truffle for example removes the overhead of at least parallel assignment vs normal assignment, define_method vs def, send vs normal send, Proc#call vs yield.
Some of the others though, such as Array#bsearch vs Array#find, are just algorithmic complexity and not the fault of the implementation.