Hi,
I cannot help you on emacs, I'm using VisualCode in all my machines with the beancount plugin... If you didn't try, I recommend you!
For the years of transactions:
I had the same problem as you, I loved beancount from the beginning but with thousands of transactions in several banks, with different reports, etc... was just... A nightmare.
What I did? Basically starting from today! I took all my assets and started with:
2019-01-01 * "Open balance"
Equity:Balance-Init
Assets:Bank:AABB 12345.00 USD
Later, each week-end I had some hours, I was using a combination of spreadsheets and CSV exported from each account/broker/etc to get the transactions in beancount mode, and I was adding to the file... modifying the initial Equity:Balance-Init entry ;-)
The main problem with lot of people I know that they where starting with beancount (that apply to other systems) is that they want to have **everything** translated with a "magic" command: "get beancount from xxx, yyy, zzz" and that doesn't exist, at least, I don't know how to do it.
The advice: Start with last past week translations, and go back slowly as soon as you have some time to spend.
For reference, I have 8000 lines (not transactions, lines of code) written in my ledgers from 2017 until now and took me... around 40, 50 hours of work.
Regards