One idea I had to both encourage town management and discourage "lol free money!" for the controlling company would to remove all funds automatically going into the company coffers. Instead, the money ends up in a town bank. The company in control can withdraw money from the town bank, but the amount they can withdraw is directly proportional to the level of the town + castle and whether they have lifestyle buffs up. If you fail to pay taxes (which are pulled from the town bank), the town gets a debuff that basically locks you out from removing any funds from the bank for 2 weeks. Or just make the taxes auto-pull from the town bank.
IMO this does a few things:
1) Encourages town owners to actually upgrade as much as possible in order to maximize company profits
2) Creates a money horde that makes a town an attractive target - for instance, if the town owners don't upgrade shit, most of the funds will sit in the town bank, making towns an attractive target if the attacking company intends to upgrade the town
3) Discourages shell companies from just pulling money and ignoring towns to feed their main company