Is there like some logical time limit where if no one else answers for x days/weeks/months than I should just give the best answer to the one answer, even if it's not particularly good?
I would say no. BA can be taken as an indication the answer solved your issue or as an endorsement of its correctness. If it's not a good answer, then it doesn't help other people to select it.