Regarding load balancing, MikroTik's BGP implementation can't do anything outside of what the BGP protocol can do. You need to tune your inbound and outbound traffic with standard controls such as BGP local pref, weight, AS path prepending, communities, etc.
Quite a few people use MikroTik as a border router. I would indeed recommend an x86 machine since you want to handle three providers with full tables. Although, I'm not sure its as stable as Cisco's BGP implementation. Several users have posted about issues with BGP such as memory leaks, slow route lookup speed (ie '/ip route print where' compared to 'sh ip bgp…'), stability, etc. Search the forums and I'm sure you'll find many threads regarding issues with stability / performance of BGP on RouterOS.
What Cisco router are you using? Maybe its possible to tune that setup. Do you
really need full tables? Having a full table only affects your ability to direct traffic outbound to the shortest destination. It does nothing for your inbound. You talk about wanting to balance your links…you could look at using AS path filters to reduce the number of routes you receive from your upstreams with smaller links, while still receiving a full table from your provider on your 100mbit link. This would effectively reduce the amount of memory used on your Cisco router and push more outbound traffic onto your higher bandwidth connection. Win win?
Cisco: Achieve Optimal Routing and Reduce BGP Memory Consumption
I have extensive experience with MikroTik and Cisco router platforms, and between the two I see no major compelling reason to switch. Look at tuning your existing setup. If you can't tune it to your needs
then look at swapping the Cisco with a new product.