The claim that "Batman not killing is BS" is BS in-and-of-itself. Out of all the superheroes in comics, the no-kill rule is more important to Batman than any other superhero and it forms who he is as a person more than any other superhero. This includes even Superman.
The vast majority of other superheroes don't kill simply because they're superheroes and killing is bad...because they're superheroes. It doesn't work that way for Batman. The reason for why he does not kill and does not use guns is engrained into his character. These two things have molded him and his mythos in a way that they haven't molded any other character and his mythos.
There are so many reasons for why this is the case that requires me to get into the entire essence and philosophy behind Batman and his mythos but I'll keep it simple: Notice how often the no-kill theme plays a roll in Batman stories. In most other superhero stories, it is there but is more concealed and only comes out once in a while throughout their stories. In Batman stories, the theme is constantly there and is in many ways the very core of many stories. Also notice how much controversy and disgust a lot of people have for Batman not killing the Joker. Some people have even said that they can't stand Batman altogether because of that. When you think about it, shouldn't they feel this way about most superheroes since it is a known fact that most superheroes don't kill? Yet barely anyone critiques Superman and Spider-Man for not killing Lex and the Green Goblin respectively, who are both far more dangerous than Joker in the first place. Batman gets so much more criticism in comparison to them for simply not killing a street-level psychopath. This is because, as I said (and I hate to say this since I really like both Spidey and Supes), there is no other superhero whose no-kill rule is as attached to the core of their being as it is to Batman.
When you make it ok for Batman to kill, you not only change him but you change his entire world. You completely alter the Batman/Joker dynamic. The Batman/Ra's dynamic. The Batman/Gordon dynamic. His friendship with Superman. The entire message behind vigilantism that comes with Batman. Robin's entire purpose for existing is gone. Everything about Batman as we know him and his world as we know it would completely change, and I don't think people realize this.
If you do not like the idea of Batman's no-kill rule being so attached to him, Batman is not a character that's meant for you in the same way how the Punisher is not a character aimed at people who don't like the idea of superheroes killing. I am not trying to offend anyone for saying this, but it is essentially true and there is nothing wrong with that. There is no comic book character that can be targeted and loved by everyone. That's not to say that you can't be bothered once in a while or have disturbing thoughts here and there about Batman's decision to spare the Joker (we all have those sometimes, even the hardcore fans) but if it constantly disturbs you to the point that it affects your overall enjoyment of Batman content and your overall opinion of Batman, then Batman is not a character designed to appeal to you personally.
As a side note, I find it very interesting how much criticism Batman gets for his methods from a political point of view. It seems that left-wings always critique him for having methods that are too extreme while right-wings critique him more for not having methods extreme enough.
Also, the claim that Batman is sparing the Joker for selfish reasons is not really true. In a way, he is keeping Gotham and the whole world more safe. That may sound ridiculous, but allow me to explain.
Psychologically speaking, Batman is a monster in human form. Bruce Wayne has intentionally transformed himself into such a larger-than-life creature. As Dennis O'Neil and Frank Miller once said, the interesting thing about Batman is that he is a monster but is on the good side. This same creature that is currently on our side walks on the edge of insanity every night. The only thing keeping him away from crossing that line - a line very thin when it comes to someone like Batman - is his no-kill rule. From the moment he breaks that rule, he has crossed that line. If he justifies one murder, he will be able to do it again.
That is where the issue with Batman killing arises. Batman is no cop. If a cop was to murder someone, he would still be bound by the laws of the legal system that would prevent him from crossing that line. And even if the cop did cross that line, it would barely have any effect because cop are just ordinary people with limits.
On the other hand, Batman does not have those luxuries. He answers to no one and is a larger-than-life creature not bound by human limits. Think about what it would mean if someone like Batman went around killing people. He is the world's greatest detective. Arguably the world's greatest tactician. Arguably the most obsessed and most motivated superhero in the DC universe to get the job done. Has prepared contingency plans to take down any member of the JLA if they were to go rogue. Is this really someone you would want to go around deciding who gets to live and who gets to die? Imagine the danger that would come from that. There would be very little people could do to stop Batman in that situation.
On top of that, it is not Batman's job to kill the Joker in the first place. He set out to stop crimes from happening. Once he stopped the crime at hand, he lets the (honest) police take care of the rest. It is entirely up to the Gotham City Hall what happens from that point on and whether or not the Joker gets to live. And if the Joker got the death penalty tomorrow, Batman would have no problem with it (yes, I know there is a story where the Joker got the death penalty and Batman intervened but I found it to be very out of character).