For 1.14, since we're getting a ton of new slabs, I created 3 versions of this resource pack, Better Double Slabs, which adds an incredibly helpful tool for builders to detail their builds with. Downloads near bottom.
HOW IT WORKS:
When Minecraft calls a block model into the world, it loads the model through a file specifying the blockstate of the model. Every slab has 3 blockstates: half=[top, bottom, double], and by default, the half=double file simply loads the base block (for instance, in blockstates/birch_slab, by default, the set model is "block/birch_planks"). I've customized these for every single slab, except for 4.
Basically, when you put two slabs on top of eachother, you'll get a "new" block. This does not remove anything from the game, and is entirely additive in nature.
I've created 3 variations of this resource pack, specifically to account for differences in preference. When I make resource packs, I try to make them as non-intrusive as possible, so that users can use other resource packs and have no issue with overwritten textures, and so that the changes to the models and textures will not heavily influence the appearance of your builds to people who are not using the resource pack provided. This is the reasoning behind the variations of the pack, which will be detailed below, in the Downloads section. The numbers in the above image are used to determine what variation will include them, with v1 including everything, v2 including everything except for the blocks labelled 2, and v3 including everything except the blocks labelled 2 or 3.
Here is a full list of all of the changes to blocks that are included in this pack.
Vertical Bricks - Bricks Slab
Vertical Stone Bricks - Stone Bricks Slab
Vertical Nether Bricks - Nether Bricks Slab
Quartz Pillar End - Quartz Slab
Rough Red Sandstone - Red Sandstone Slab
Tiled Red Sandstone - Cut Red Sandstone Slab
Smithing Bottom - Granite Slab
Blast Furnace Top - Andesite Slab
Vertical Red Nether Bricks - Red Nether Bricks Slab
Vertical Mossy Stone Bricks - Mossy Stone Bricks Slab
Divided Polished Diorite - Polished Diorite Slab
Vertical End Bricks - End Bricks Slab
Trimmed Smooth Sandstone - Smooth Sandstone Slab
Vertical Oak Planks - Oak Planks Slab
Vertical Spruce Planks - Spruce Planks Slab
Vertical Birch Planks - Birch Planks Slab
Vertical Jungle Planks - Jungle Planks Slab
Vertical Acacia Planks - Acacia Planks Slab
Vertical Dark Oak Planks - Dark Oak Planks Slab
Purpur Pillar End - Purpur Slab
Elder Prismarine - Prismarine Slab
Elder Prismarine Bricks - Prismarine Bricks Slab
Elder Dark Prismarine - Dark Prismarine Slab
Divided Polished Granite - Polished Granite Slab
Trimmed Smooth Red Sandstone - Smooth Red Sandstone Slab
For all of these save for the Elder Prismarine, I was able to create models to give the desired effect, so, again, you can use whichever texture pack you want with these.
As for the four "missing" blocks: I didn't include a special variation for smooth stone, because the double slab is already unique- replacing it would make it completely inaccessable. Similarly, I didn't include a special variation for petrified oak because there is no proper petrified oak block, only the double slab variation. As for mossy cobblestone and smooth quartz, I didn't include special double slabs for them simply because I could not think of any good ideas for them that could be done without implementing new textures to the game entirely, which, again, I try not to do unless fundamentally necessary.
This wall of variations of sandstone does not use any new textures, but rather just some clever modelling.
In this image, you can see the "tile" sandstone (cut sandstone double slab), "trimmed" smooth sandstone (smooth sandstone double slab), and "rough" sandstone (sandstone double slab). Again, this image would look fine without the resource pack, but this pack is all about giving builders the very subtle option to include these changes.
You can also use this pack for variation in block palette, for instance here with these mossy stone bricks:
Very easy, and very straight-forward.
For one more application, lets see how the vertical planks could be used to enhance a house wall:
Elegant, and very subtle.
Version 1: All assets. Uses custom textures to provide Elder Prismarines. Includes some blocks that may not look great for players without this pack, but are very nice blocks to have.
Version 2 - NNT (No New Textures): Includes blocks labelled 1and 3, AKA all blocks except Elder Prismarines. Includes some blocks that may not look great for players without this pack, but are very nice blocks to have.
Version 3 - NNB (No New Blocks): Includes only blocks labelled 1, AKA the most no-resource-pack-friendly experience possible. You can build perfectly fine with this resource pack on servers, and while your detailing may go unnoticed to those without this pack, your builds will look fundamentally no different.