Sorry that you had such a crappy experience! We've always had a lovely time over at Akershus.
Character dining quality (character wise) is always going to depend on a variety of things, starting with, if you're on time for your reservation, and how the tables are doing time wise for eating that are already there. They seat the resturants differently, so that one section is sat, then the next, then the next, so they're cleared that way as well, and the characters can get a better handle on the rotation & who they've seen. If you're late, and you get sat in a section that's already been swept through with princesses, you might have to wait til the next rotation to see any of them, or they might all zoom past you right before they're finishing the set.
We've had multiple experiences where we are sat, and the characters all come around right away, which we personally like, they all come through in a matter of 10-15 minutes, we chat, take pictures, and then are done, and can focus on eating & getting out of there!
Character dining is tricky because a set works differently than a meet & greet in the park, you HAVE to see all the tables you need to in that set amount of time, and in the right order, I know there are a lot of employees that aren't big fans of it, and sometimes that shows through, sadly. And as pp's have said, sometimes a princess will get caught up at a table for longer than she's supposed to, and have to rush through the rest